ModuleNotFoundError:没有名为“ psycopg2”的模块(python3,mac,pip3显示成功安装了psycopg2)

时间:2019-12-19 22:03:59

标签: python python-3.x postgresql pip psycopg2

已解决:了解虚拟环境。

pip install virtualenv


问题:尽管已通过pip3成功安装了psycopg2,但在python3中却收到ModuleNotFoundError。 (我在终端上发布了简短的代码以进行总结,但是这些错误当然使我试图运行的.py脚本困扰着我。)

Python3软件包:

macs-MacBook-Air-2% pip3 list
Package    Version
---------- -------
pip        19.2.3
psycopg2   2.8.4
setuptools 41.4.0
wheel      0.33.6

Python3 psycopg2错误:

macs-MacBook-Air-2% python3
Python 3.7.3 (v3.7.3:ef4ec6ed12, Mar 25 2019, 16:52:21)
[Clang 6.0 (clang-600.0.57)] on darwin
Type "help", "copyright", "credits" or "license" for more information.

>>> import psycopg2
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'psycopg2'

我只做过:

pip3 install psycopg2

附加说明:

请注意,运行2.7时一切正常。 (我使用pip install psycopg2。)

macs-MacBook-Air-2% python
Python 2.7.10 (default, Oct  6 2017, 22:29:07)
[GCC 4.2.1 Compatible Apple LLVM 9.0.0 (clang-900.0.31)] on darwin
Type "help", "copyright", "credits" or "license" for more information.

>>> import psycopg2
>>> psycopg2.__version__
'2.8.4 (dt dec pq3 ext lo64)'
>>>

python 2.7软件包:

macs-MacBook-Air-2% pip list
DEPRECATION: ...2.7 end of life notice..
Package                                Version
-------------------------------------- -----------
altgraph                               0.10.2
astroid                                1.6.6
...more
psycopg2                               2.8.4
...more
zope.interface                         4.6.0

我对编码非常陌生,我搜索了此错误。但是,我没有找到对我有意义的结果,包括python3错误+成功安装python3。

1 个答案:

答案 0 :(得分:0)

这可能是因为您的默认python安装是Python2。我认为您应该创建一个虚拟环境并在其上安装psycopg2。这样,您将使用pip3并具有隔离的依赖项,这些依赖项不会与其他版本产生冲突(并且可能会破坏您的系统):

python3 -m venv ~/.environments/test
source ~/.environments/test/bin/activate
pip install psycopg2