【问题标题】:Cannot import psycopg2 inside jupyter notebook but can in python3 console无法在 jupyter notebook 中导入 psycopg2,但可以在 python3 控制台中导入
【发布时间】:2019-05-06 19:07:50
【问题描述】:

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

我通过 anaconda-navigator 安装了psycopg2

Jupyter 笔记本:

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

ModuleNotFoundError: No module named 'psycopg2'
import sys
sys.path

['/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 控制台:

python3

>>> import psycopg2

这里没问题。

>>> import sys
>>> sys.path

['', '/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  
...

我试过了:

将其添加到sys.path,但结果相同。

sys.path.insert(0,'/usr/local/anaconda3/envs/env3/lib')

【问题讨论】:

  • 你是怎么用什么命令安装的? (只要确保官方文档说以下 conda install -c anaconda psycopg2 anaconda.org/anaconda/psycopg2
  • 我在https://docs.anaconda.com/anaconda/navigator/ 中使用了GUI。但我也试过conda install -c anaconda psycopg2
  • 向我们展示来自psycopg2.__spec__ 的输出会很有帮助,它会告诉我们它是从控制台中加载的位置。

标签: python jupyter-notebook ipython conda


【解决方案1】:

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

pip install psycopg2

【讨论】:

  • 谢谢 - 很奇怪,但同样的事情也发生在我身上,而且只有这个模块。
  • 在 Jupyter 笔记本单元中,!pip install psycopg2-binary 用于安装 psycopg2。
  • 在我的 venv 外部安装 psycopg2 也对我有用,但我仍然不明白为什么我必须这样做,因为我在激活我的 venv 后启动了我的 jupyter 服务器。
  • 我不知道为什么,但它有效。真的很想知道原因。此外,singhj 提到的对我不起作用。
猜你喜欢
  • 1970-01-01
  • 2019-08-18
  • 2020-11-06
  • 2018-07-28
  • 2019-08-10
  • 1970-01-01
  • 1970-01-01
  • 2023-01-23
  • 2019-03-30
相关资源
最近更新 更多