Python не может найти модули с установленным PYTHONPATH

Я полностью запутался с новым питоном 2.7.10.

Я установил python 2.7.10 из tar.xz, который был загружен с официального сайта. Затем я связал /usr/local/bin/python2.7 с /usr/bin/python2.7 и / usr / bin / python, но когда я пытаюсь импортировать модуль, я получаю ImportError: нет модуля с именем "module_name", Например:

python -c "import gtk"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
ImportError: No module named gtk

Но если:

cd /usr/lib/python2.7/dist-packages/gtk-2.0/
python -c "import gtk"

Мы получаем:

Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "gtk/__init__.py", line 30, in <module>
    import gobject as _gobject
ImportError: No module named gobject

Итак, модуль GTK был успешно импортирован.

Давайте "cd ~" и посмотрим на sys.path:

python -c "import sys, pprint; pprint.pprint(sys.path)"
['',
 '/usr/local/lib/python2.7/site-packages/setuptools-17.1.1-py2.7.egg',
 '/usr/local/lib/python2.7/site-packages/pip-7.1.0.dev0-py2.7.egg',
 '/usr/local/lib/python27.zip',
 '/usr/local/lib/python2.7',
 '/usr/local/lib/python2.7/plat-linux2',
 '/usr/local/lib/python2.7/lib-tk',
 '/usr/local/lib/python2.7/lib-old',
 '/usr/local/lib/python2.7/lib-dynload',
 '/usr/local/lib/python2.7/site-packages']

Хорошо, нет /usr/lib/python2.7/dist-packages, давайте добавим его: экспорт PYTHONPATH=$PYTHONPATH:/usr/lib/python2.7/dist-packages:/usr/lib/python2.7

Сейчас:

python -c "import sys, pprint; pprint.pprint(sys.path)"
['',
 '/usr/local/lib/python2.7/site-packages/setuptools-17.1.1-py2.7.egg',
 '/usr/local/lib/python2.7/site-packages/pip-7.1.0.dev0-py2.7.egg',
 '/home/s-quark',
 '/usr/lib/python2.7/dist-packages',
 '/usr/lib/python2.7',
 '/usr/local/lib/python27.zip',
 '/usr/local/lib/python2.7',
 '/usr/local/lib/python2.7/plat-linux2',
 '/usr/local/lib/python2.7/lib-tk',
 '/usr/local/lib/python2.7/lib-old',
 '/usr/local/lib/python2.7/lib-dynload',
 '/usr/local/lib/python2.7/site-packages']

Но все равно не удалось найти модуль:

python -c "import gtk"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
ImportError: No module named gtk

Что мне нужно сделать?

1 ответ

Кажется, у вас есть две версии Python.

Версия по умолчанию обычно связана с:

/usr/bin/python 

Как вы можете видеть из which -a python, ваша локальная версия живет внутри:

/usr/local/bin/python 

это связано с вашим локальным двоичным

/usr/bin/python 

pip install устанавливает пакеты с использованием Python по умолчанию. По этой причине вы не можете импортировать пакеты из локальной установки, даже если пакет виден в вашем $PYTHONPATH,

В случае python -m pip install не устанавливает нужные пакеты в вашей локальной версии, попробуйте создать виртуальную среду (не использовать sudo)

В случае, если все не удается или вы в отчаянии, установите чистую Анаконду и держитесь подальше от неприятностей.

Я надеюсь, что это работает

Другие вопросы по тегам