以前有人问过这个问题,但没有一个答案令人满意。
在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。