2015-08-03 2 views
3

Я установил psycopg2 через pip, но у моих программ возникли проблемы с поиском. Итак, я попытался установить psycopg2 через пип снова:Модуль psycopg2 не найден Python2.7

[email protected]:~/Desktop/progFolder$ sudo pip install psycopg2 
Requirement already satisfied (use --upgrade to upgrade): psycopg2 in /usr/local/lib/python2.7/dist-packages 
Cleaning up... 

Затем я попытался использовать программу, которая импортирует его:

[email protected]:~/Desktop/progFolder$ python myProg.py 
Traceback (most recent call last): 
    File "myProg.py", line 6, in <module> 
    import psycopg2 
ImportError: No module named psycopg2 

И я попытался просто импортировать прямо в питона:

[email protected]:~/Desktop/progFolder$ python 
Python 2.7.5 (default, Nov 9 2014, 14:14:12) 
[GCC 4.8.2] on linux2 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import psycopg2 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
ImportError: No module named psycopg2 

Итак, я напечатал свой путь к питону.

>>> import sys 
>>> print sys.path 
['', '/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'] 

И заметил, что путь содержит путь к psycopg2.

psycopg2 in /usr/local/lib/python2.7/dist-packages 

Итак, я понятия не имею, почему это происходит. Любая помощь будет оценена по достоинству.

UPDATE: Я сделал

>>>help() 
>>>modules 

И psycopg2 не был перечислен среди других модулей. (это не поможет мне, но может помочь вам помочь)

+0

Какая версия ubuntu это? – Evert

+0

Ubuntu 14.04.2 LTS – Rorschach

+1

Получаете ли вы те же результаты, когда используете python как root: 'sudo python -c" import sys; print sys.path "'? – Evert

ответ

1

Ваш пип выглядит нормально (то есть, это система/по умолчанию один). Однако ваш исполняемый файл Python - это то, что по умолчанию не появилось с 14.04 LTS (например, в моей системе 14.04, это /usr/bin/python). Вы сами установили этот Python? Затем вам необходимо установить (и использовать) соответствующий pip. (Как правило, Python пришел бы с установкой пипса, но, видимо, в этом случае он этого не делал.)

Пункт может быть довольно прост установлен из его installation instructions.

Хотя первый, убедитесь, что

  • ты установить /usr/local/bin/python себя. То есть, он не пришел с каким-то другим программным обеспечением, которое вы установили, и что, по пути, решил установить Python там.

  • Вы хотите использовать /usr/local/bin/python (я думаю, это более новая версия Python 2.7, по умолчанию 14.04 LTS - 2.6.7 с 2015-08-03).

+0

используя: «python get-pip.py» все решило, спасибо. – Rorschach

1

От вашего пути на пути к питону, похоже, что он не имеет /usr/local/lib/python2.7/dist-packages, включенный в него. Вы можете добавить его в одну сторону по:

sys.path.insert(0, "/usr/local/lib/python2.7/dist-packages")

+2

Я бы этого не делал путь. Это одноразовое решение, но с любым последующим скриптом или использованием подсказки Python вам придется сделать то же самое снова. Проблема здесь в том, что pip устанавливает вещи не в том месте, или Python не выбирает это автоматически: pip и Python следует переплетать. Если кто-то что-то устанавливает, другой может найти его без проблем. – Evert

+0

Я удалил это как ответ, потому что, хотя он и получил меня за одну ошибку, это вызвало еще кое-что. – Rorschach

+0

Хотя он решил этот конкретный вопрос/ошибку? Я бы также набрал 'which python' и удостоверился, что путь указывает на тот же дистрибутив, для которого устанавливается ваш пипс. – FTA

Смежные вопросы