У меня возникла странная проблема при попытке установить библиотеку python с помощью файла setup.py. когда я запускаю файл setup.py, я получаю ошибку импорта, говоря ImportError: No module named Cython.Distutils
, но у меня есть такой модуль, и я могу без проблем импортировать его в командной строке python. Почему я могу получить эту ошибку импорта?python ImportError: Cython.Distutils
Я просмотрел несколько десятков случаев ошибок импорта, прочитал об импорте и упаковках и т. Д., Но не может показаться, что это понятно. Я сейчас на два-два дня застрял на этом, поэтому считаю, что пришло время попросить о помощи!
Библиотека называется zenlib. Я думаю, что проблема может быть связана с тем фактом, что я использую Enthought Python Distribution, который я установил заранее, вместо использования Python2.7, который поставляется с Ubuntu 12.04.
Более фон: Вот именно то, что я получаю при попытке запустить 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
Но это работает из командной строки:
>>> 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
Обратите внимание на первый импорт работал а второй вызывает ошибку. Сравните это с первыми строками 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
Я убедился, что распределение Enthought Python и не питон, который пришел с Ubuntu является то, что по умолчанию запускается, предваряя мой Баш переменную $ PATH среды на редактирование ~/.bashrc
, добавив в качестве последней строки:
export PATH=/usr/local/epd/bin:$PATH
и действительно which python
выплевывает /usr/local/epd/bin/python
... не зная, что еще попробовать, я вошел в мой каталог пакетов сайт (/usr/local/epd/lib/python2.7/site-packages
) и дать полные права (г , w, x) до Cython
, Distutils
, build_ext.py
и __init__.py
. Наверное, глупо пытаться, и ничего не изменилось.
Не могу придумать, что попробовать дальше !? Есть идеи?
Я не могу думать ни о чем, но то, что в вашем 'sys.path' ? –
делает 'sudo python -c 'импорт Cython.Distutils'' работы? – jfs
Мой эксперимент дал тот же результат, я устанавливаю Python 2.7 на ubuntu 12-04, cython, numpy, scipy. Такая же ошибка Traceback (последний последний вызов): Файл «setup.py», строка 4, в от Cython.Distutils import build_ext ImportError: Нет модуля с именем Cython.Distutils. Кажется, что ни один из ответов не разрешил это. Уважаемые эксперты! –
pythOnometrist