Python2.7 找不到 psycopg2 模块
psycopg2 module cannot be found by Python2.7
我通过 pip 安装了 psycopg2,但我的程序找不到它。
所以,我再次尝试通过 pip 安装 psycopg2:
user@ubuntu:~/Desktop/progFolder$ sudo pip install psycopg2
Requirement already satisfied (use --upgrade to upgrade): psycopg2 in /usr/local/lib/python2.7/dist-packages
Cleaning up...
然后我尝试使用导入它的程序:
user@ubuntu:~/Desktop/progFolder$ python myProg.py
Traceback (most recent call last):
File "myProg.py", line 6, in <module>
import psycopg2
ImportError: No module named psycopg2
我试过直接导入 python:
user@ubuntu:~/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
所以我打印了我的 python 路径。
>>> 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
所以,我不知道为什么会这样。任何帮助将不胜感激。
更新:
我做了
>>>help()
>>>modules
并且 psycopg2 未在其他模块中列出。 (这对我没有帮助,但可能会帮助你帮助我)
从您的 python 路径打印来看, 似乎没有包含 /usr/local/lib/python2.7/dist-packages
。您可以通过以下一种方式添加它:
sys.path.insert(0, "/usr/local/lib/python2.7/dist-packages")
你的 pip 看起来不错(也就是说,它是 system/default 那个)。然而,您的 Python 可执行文件并不是 14.04 LTS 默认附带的(例如,在我的 14.04 系统上,它是 /usr/bin/python
)。 Python 是你自己安装的吗?然后您还需要安装(和使用)相应的 pip
。 (通常,Python 会附带 pip 安装,但显然在这种情况下,它没有。)
pip 可以从它的 installation instructions.
安装起来相当简单
虽然首先要验证
您确实 /usr/local/bin/python
自己安装了。也就是说,它没有随您安装的其他软件一起提供,并且决定在那里安装 Python。
你想使用 /usr/local/bin/python
(我猜这是 Python 2.7 的更新版本;截至 2015 年,默认的 14.04 LTS 似乎是 2.6.7 -08-03).
我通过 pip 安装了 psycopg2,但我的程序找不到它。 所以,我再次尝试通过 pip 安装 psycopg2:
user@ubuntu:~/Desktop/progFolder$ sudo pip install psycopg2
Requirement already satisfied (use --upgrade to upgrade): psycopg2 in /usr/local/lib/python2.7/dist-packages
Cleaning up...
然后我尝试使用导入它的程序:
user@ubuntu:~/Desktop/progFolder$ python myProg.py
Traceback (most recent call last):
File "myProg.py", line 6, in <module>
import psycopg2
ImportError: No module named psycopg2
我试过直接导入 python:
user@ubuntu:~/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
所以我打印了我的 python 路径。
>>> 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
所以,我不知道为什么会这样。任何帮助将不胜感激。
更新: 我做了
>>>help()
>>>modules
并且 psycopg2 未在其他模块中列出。 (这对我没有帮助,但可能会帮助你帮助我)
从您的 python 路径打印来看, 似乎没有包含 /usr/local/lib/python2.7/dist-packages
。您可以通过以下一种方式添加它:
sys.path.insert(0, "/usr/local/lib/python2.7/dist-packages")
你的 pip 看起来不错(也就是说,它是 system/default 那个)。然而,您的 Python 可执行文件并不是 14.04 LTS 默认附带的(例如,在我的 14.04 系统上,它是 /usr/bin/python
)。 Python 是你自己安装的吗?然后您还需要安装(和使用)相应的 pip
。 (通常,Python 会附带 pip 安装,但显然在这种情况下,它没有。)
pip 可以从它的 installation instructions.
安装起来相当简单虽然首先要验证
您确实
/usr/local/bin/python
自己安装了。也就是说,它没有随您安装的其他软件一起提供,并且决定在那里安装 Python。你想使用
/usr/local/bin/python
(我猜这是 Python 2.7 的更新版本;截至 2015 年,默认的 14.04 LTS 似乎是 2.6.7 -08-03).