Tengo un problema extraño al intentar instalar una biblioteca de Python utilizando su archivo setup.py. Cuando ejecuto el archivo setup.py, recibo un error de importación, que dice ImportError: No module named Cython.Distutils
, pero tengo un módulo así, y puedo importarlo en la línea de comandos de Python sin ningún problema. ¿Por qué podría estar recibiendo este error de importación?python ImportError: Cython.Distutils
He examinado unas pocas docenas de casos de errores de importación, he leído sobre importaciones y paquetes, etc., pero parece que no puedo resolverlo. Ahora estoy en el día dos y medio de estar estancado en este punto, así que creo que es hora de pedir ayuda.
La biblioteca se llama zenlib. Creo que el problema puede tener que ver con el hecho de que estoy usando Enthought Python Distribution que instalé de antemano, en lugar de usar el Python2.7 que viene con Ubuntu 12.04.
Más de fondo: Aquí es exactamente lo que consigo al intentar ejecutar setup.py:
[email protected]:~/zenlib/src$ sudo python setup.py install
Traceback (most recent call last):
File "setup.py", line 4, in <module>
from Cython.Distutils import build_ext
ImportError: No module named Cython.Distutils
Pero funciona desde la línea de comandos:
>>> from Cython.Distutils import build_ext
>>>
>>> from fake.package import noexist
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named fake.package
Nota la primera importación funcionaba y el segundo arroja un error. Compare esto con las primeras líneas de setup.py:
#from distutils.core import setup
from setuptools import setup
from distutils.extension import Extension
from Cython.Distutils import build_ext
import os.path
Me aseguré de que la distribución Enthought Python y no la pitón que viene con Ubuntu es lo que se ejecuta de forma predeterminada anteponiendo mi fiesta de variable de entorno PATH $ por edición ~/.bashrc
, añadiendo esto como la última línea:
export PATH=/usr/local/epd/bin:$PATH
y de hecho which python
escupe /usr/local/epd/bin/python
... sin saber qué más para intentar, entré en mi directorio de paquetes de sitio, (/usr/local/epd/lib/python2.7/site-packages
) y darle permisos totales (r , w, x) a Cython
, Distutils
, build_ext.py
, y los archivos __init__.py
. Probablemente sea una tontería intentarlo, y no cambió nada.
No se puede pensar qué probar después? ¿Algunas ideas?
No puedo pensar en nada, pero lo que es en su 'sys.path' ? –
¿'sudo python -c 'importa el trabajo de Cython.Distutils''? – jfs
Mi experiencia arrojó el mismo resultado, di una instalación de Python 2.7 en ubuntu 12-04, cython, numpy, scipy. Mismo error Traza (última llamada más reciente): Archivo "setup.py", línea 4, en de Cython.Distutils import build_ext ImportError: Ningún módulo llamado Cython.Distutils. Ninguna de las respuestas parece haber resuelto esto. Estimados expertos AYUDA !!! –
pythOnometrist