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



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

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

C:UsersmyusernameAppDataRoamingPythonPython39site-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:UsersmyusernameAppDataRoamingPythonPython39site-packagespsycopg2__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独立安装。

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

一点指向:

C:UsersmyusernameAppDataRoamingPythonPython39site-packages

即python 3.9。

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

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

最新更新