У меня возникла странная проблема при попытке установить библиотеку Python zenlib
с помощью его файл setup.py
. Когда я запускаю файл setup.py
, я получаю сообщение об ошибке импорта:
ImportError: Нет модуля с именем Cython.Distutils`
, но у меня есть такой модуль, и я могу его импортировать. в командной строке python без проблем. Почему я могу получить эту ошибку импорта?
Я думаю, что проблема может быть связана с тем, что я использую Enthought Python Distribution, который я установил прямо перед этим, а не использую Python 2.7, поставляемый с Ubuntu 12.04.
Дополнительная информация: Вот что я получаю при попытке запустить setup.py:
enwe101@enwe101-PCL:~/zenlib/src$ sudo python setup.py install
Traceback (most recent call last):
File "setup.py", line 4, in
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 "", line 1, in
ImportError: No module named fake.package
Обратите внимание, что первый импорт сработал, а второй выдает ошибку. Сравните это с первыми несколькими строками настройки.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, а не Python, поставляемый с Ubuntu, запускается по умолчанию, добавив перед моей переменной окружения $PATH bash, отредактировав ~/.bashrc
, добавив это как последняя строка:
export PATH=/usr/local/epd/bin:$PATH
да и вообще которую питон
выплевывает /usr/local/epd/bin/python
... не зная, что еще попробовать, я зашел в свой каталог пакетов сайта ( /usr/local/epd/lib/python2.7/site-packages
) и предоставить полные разрешения (r,w,x) для Cython
, Distutils
, build_ext.py
и файлы __init__.py
. Наверное, глупо пытаться, и это ничего не изменило.
Не могу придумать, что попробовать дальше!? Есть идеи?