模块未找到:psycopg2

6

我有一个使用postgresql 9的Django项目。我安装了psycopg2,但当我运行项目时,会收到“Error loading psycopg2 module: dll load failed”错误信息。这是我第一次遇到这个问题。我的操作系统是Windows 7 x64,Python版本是2.7。请问如何解决这个问题?


对我来说,它抛出了一个异常,因为pip将包安装到Python 3.8文件夹中,而我正在运行Python 3.10。如果有人遇到这样的问题,他们可能需要运行pip3.10...而不是pip。 - Sviatozar Petrenko
2个回答

6
我曾经遇到相同的问题,原因是在Windows中使用_easy_install_安装psycopg2时出现了问题。我按照以下SO答案上的说明进行操作:Installing psycopg2 (postgresql) in virtualenv on windows 你需要手动安装psycopg2 exe文件: psycopg2-2.4.2.win-amd64-py2.7-pg9.0.4-release.exe

1
或者从 https://pypi.python.org/pypi/psycopg2 下载相关的 psycopg2 .whl 文件,然后在提示符下确保您在虚拟环境中,并执行 pip install c:\users\me\downloads\whatever.whl。 - Alan B

1
我知道这会再次困扰我,或者就像nwcell所说的:

每次我需要在Windows上设置psycopg2时,我都想开枪。

我实际上有一台安装了它的机器,并且我一直在努力设置另一台机器。我安装了Python 3.8,而旧PC则安装了3.7.4。主要区别在于文件:

C:\project\venv\Lib\site-packages\psycopg2_psycopg.cp37-win32.pyd

在新电脑上,它显示为AMD64。最终我卸载了3.8并恢复到3.7.4,然后将文件从旧电脑复制到新电脑,然后出现了这个错误:

https://dev59.com/y1oV5IYBdhLWcg3wkfW9#37819509

前往WayBackMachine版本的stickpeople:

https://web.archive.org/web/20191003103502/http://www.stickpeople.com/projects/python/win-psycopg/

我没有安装exe,只是运行了 pip install -Iv psycopg2-binary==2.8.4,然后它开始工作了。所以我认为最新版本不可用,对我来说2.8.4仍然有效:https://pypi.org/project/psycopg2/#files 这与x64有关,因为我尝试的所有AMD64都不起作用,我花了很长时间研究它。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接