2011-01-23 23 views
12

Soy nuevo en CentOS y estoy tratando de instalar el paquete M2Crypto Python en él.No se puede instalar un paquete Python

me corrieron:

sudo python setup.py install 

y parecía ir bien: (este es el final de la salida)

removing 'build/bdist.linux-i686/egg' (and everything under it) 
Processing M2Crypto-0.20.2-py2.4-linux-i686.egg 
Removing /usr/lib/python2.4/site-packages/M2Crypto-0.20.2-py2.4-linux-i686.egg 
Copying M2Crypto-0.20.2-py2.4-linux-i686.egg to /usr/lib/python2.4/site-packages 
M2Crypto 0.20.2 is already the active version in easy-install.pth 

Installed /usr/lib/python2.4/site-packages/M2Crypto-0.20.2-py2.4-linux-i686.egg 
Processing dependencies for M2Crypto==0.20.2 

Sin embargo no puedo importar M2Crypto:

$ python 
Python 2.4.3 (#1, Nov 11 2010, 13:34:43) 
[GCC 4.1.2 20080704 (Red Hat 4.1.2-48)] on linux2 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import M2Crypto 
Traceback (most recent call last): 
File "<stdin>", line 1, in ? 
File "M2Crypto/__init__.py", line 22, in ? 
import __m2crypto 
ImportError: No module named __m2crypto 
>>> 

¿Qué estoy haciendo mal?

+0

Parece que no está haciendo nada mal. Instalé el paquete con apt en Ubuntu, y no tengo problemas con Python 2.6. (¿Por qué está utilizando v2.4 de Python?) El módulo se está cargando desde /usr/lib/pymodules/python2.6/M2Crypto donde hay un archivo __m2crypto.so. Encontré otra copia de M2Crypto en/usr/share/pyshared/M2Crypto, y no hay archivos .so ahí. – Apalala

+0

Gracias por los comentarios de Apalala. Estoy ejecutando Python 2.4 porque es el predeterminado con CentOS y muchas de las herramientas de CentOS esperan Python 2.4 por lo que he leído.Los documentos de M2Crypto dicen que se ejecuta con 2.4. – VacuumTube

+0

Siempre puede instalar una versión más nueva de python (por defecto en/usr/local/bin /) y hacer que sus scripts hagan referencia a Python en esa ruta. De esta forma, puede tener directorios de módulos separados para su python de sistema frente a su python de desarrollo/implementación. Cuando configure su fuente de python simplemente configure --prefix =/usr/local/(que lo hace de forma predeterminada, pero ... puede hacerlo como lo desee ...) – synthesizerpatel

Respuesta

1

Esto me sucede ocasionalmente cuando instalo módulos de Python. Hay un par de cosas que hago para resolver este problema:

  1. A veces es porque nunca configuró su PYTHONPATH. Proveedores:

    setenv PYTHONPATH /usr/lib/python2.4/site-packages:$PYTHONPATH

  2. A veces es causa de bibliotecas compartidas se encuentran en/usr/lib y que tendría que realizar:

setenv LD_LIBRARY_PATH /usr/lib: $ LD_LIBRARY_PATH

Déjame saber cómo te va esto. La mayoría de las veces es solo porque no estableciste correctamente la ruta de Python.

6

me corrieron:

python setup.py tests 

y que se fija. Copió algunos archivos, lo que creo que resultó en que la lib se colocó en el lugar correcto.

running test 
running egg_info 
writing M2Crypto.egg-info/PKG-INFO 
writing top-level names to M2Crypto.egg-info/top_level.txt 
writing dependency_links to M2Crypto.egg-info/dependency_links.txt 
reading manifest file 'M2Crypto.egg-info/SOURCES.txt' 
writing manifest file 'M2Crypto.egg-info/SOURCES.txt' 
running build_ext 
copying build/lib.linux-i686-2.4/M2Crypto/__m2crypto.so -> M2Crypto 
test_BitSTring (tests.test_asn1.ASN1TestCase) ... ok 
. 
. 
. 
+1

+1! Como dijiste, ejecutar "setup.py test" también solucionó el problema de instalación en CentOS. ¡Gracias! – rmbianchi

4

tests no es un objetivo válido, ejecute test lugar; eso me solucionó el problema.

2

Acabo de encontrarme con el mismo problema, en centos 6.2.

Prueba de ejecución también lo arregló para mí. Sin embargo, cuando miré en los paquetes del sitio, nada fue cambiado. Ejecutar setup.py prueba construye m2crpyto en el directorio local.

Esa es la clave del problema, para solucionar el problema sin ejecutar la prueba setup.py, abandone la carpeta M2Crypto. Está recogiendo m2crypto de la carpeta local y no encuentra el huevo.

Cuestiones relacionadas