无法在 jupyter 笔记本中导入 psycopg2,但可以在 python3 控制台中导入

tim*_*xyz 6 python ipython conda jupyter-notebook

我可以在 python 控制台中导入 pyscopg2,但不能在 jupyter 笔记本中导入。

我是psycopg2通过anaconda-navigator安装的。

Jupyter 笔记本:

import psycopg2
Run Code Online (Sandbox Code Playgroud)
---------------------------------------------------------------------------
ModuleNotFoundError                       Traceback (most recent call last)
<ipython-input-3-7d2da0a5d979> in <module>
----> 1 import psycopg2

ModuleNotFoundError: No module named 'psycopg2'
Run Code Online (Sandbox Code Playgroud)
import sys
sys.path
Run Code Online (Sandbox Code Playgroud)

['/Users/me/Anaconda/MLJSONs'、'/usr/local/anaconda3/lib/python37.zip'、'/usr/local/anaconda3/lib/python3.7'、'/usr/local/anaconda3/ lib/python3.7/lib-dynload', '', '/usr/local/anaconda3/lib/python3.7/site-packages', '/usr/local/anaconda3/lib/python3.7/site-packages /aeosa','/usr/local/anaconda3/lib/python3.7/site-packages/IPython/extensions','/Users/me/.ipython']

Python 控制台:

蟒蛇3

>>> import psycopg2
Run Code Online (Sandbox Code Playgroud)

这里没问题。

>>> import sys
>>> sys.path
Run Code Online (Sandbox Code Playgroud)

['', '/usr/local/anaconda3/envs/env3/lib/python37.zip', '/usr/local/anaconda3/envs/env3/lib/python3.7', '/usr/local/anaconda3/ envs/env3/lib/python3.7/lib-dynload', '/usr/local/anaconda3/envs/env3/lib/python3.7/site-packages']

康达名单:

# packages in environment at /usr/local/anaconda3/envs/env3:
#
# Name                    Version                   Build  
...
psycopg2                  2.7.6.1          py37ha12b0ac_0  
python                    3.7.3                h359304d_0  
...
Run Code Online (Sandbox Code Playgroud)

我试过:

添加它,sys.path但出现相同的结果。

sys.path.insert(0,'/usr/local/anaconda3/envs/env3/lib')
Run Code Online (Sandbox Code Playgroud)

tim*_*xyz 5

解决方案是在我的虚拟 conda 环境之外使用 pip 安装。

pip install psycopg2
Run Code Online (Sandbox Code Playgroud)

  • 在 Jupyter 笔记本单元中,“!pip install psycopg2-binary”用于安装 psycopg2。 (2认同)