ModuleNotFoundError:没有名为“psycopg2._psycopg”的模块(Ipython)

时间:2020-12-29 14:36:19

标签: python ipython spyder psycopg2

以前有人问过这个问题,但没有一个令人满意的答案。

在 Windows 10 上使用命令提示符,导入 Psycopg2 没有问题,它位于

C:\Users\myusername\AppData\Roaming\Python\Python39\site-packages

例如:

Python 3.9.1 (tags/v3.9.1:1e5d33e, Dec  7 2020, 17:08:21) [MSC v.1927 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import psycopg2
>>>

在 Spyder 的 IPython 控制台中,出现错误:

Python 3.7.9 (tags/v3.7.9:13c94747c7, Aug 17 2020, 18:58:18) [MSC v.1900 64 bit (AMD64)]
Type "copyright", "credits" or "license" for more information.

IPython 7.19.0 -- An enhanced Interactive Python.

In [1]: import psycopg2
Traceback (most recent call last):

  File "<ipython-input-1-7d2da0a5d979>", line 1, in <module>
    import psycopg2

  File "C:\Users\myusername\AppData\Roaming\Python\Python39\site-packages\psycopg2\__init__.py", line 51, in <module>
    from psycopg2._psycopg import (                     # noqa

ModuleNotFoundError: No module named 'psycopg2._psycopg'

运行 sys.path 表示包安装的位置在那里。

In [4]: sys.path
Out[4]: 
['C:\\Program Files\\Spyder\\Python\\python37.zip',
 'C:\\Program Files\\Spyder\\Python',
 'C:\\Program Files\\Spyder\\pkgs',
 'C:\\Program Files\\Spyder\\pkgs\\IPython\\extensions',
 'C:\\Users\\myusername\\AppData\\Roaming\\Python\\Python39\\site-packages\\psycopg2',
 '',
 'C:\\Users\\myusername\\AppData\\Roaming\\Python\\Python39\\site-packages',
 'C:\\Users\\myusername\\.ipython']

我需要做什么才能完成这项工作?直到最近,当我重置 Windows 10(卸载操作系统并从云端重新安装,同时保留您的文件)时才开始发生这种情况。

这是没有 Anaconda 的 Spyder 的独立安装。

1 个答案:

答案 0 :(得分:0)

正如我们在您的路径中看到的,您的机器上安装了两个版本的 python。

一个指向:

C:\Users\myusername\AppData\Roaming\Python\Python39\site-packages

这是python 3.9。

另一个包含蜘蛛代码,即python 3.7。

你只需要在 python 3.7 实例中安装你的 Psycopg2。