没有名为psycopg2的模块

6 投票
2 回答
28442 浏览
提问于 2025-04-17 07:15

我有一个使用 PostgreSQL 9 的 Django 项目。我安装了 psycopg2,但当我运行项目时,出现了“加载 psycopg2 模块时出错:dll 加载失败”的提示。这是我第一次遇到这个问题。我使用的是 64 位的 Windows 7 和 Python 2.7。请问我该怎么解决这个问题呢?

2 个回答

1

我知道这件事又要让我头疼了,正如nwcell所说:

每次我需要在Windows上安装psycopg2的时候,我都想发火。

其实我有一台机器上已经成功安装了这个东西,但我在另一台机器上安装的时候遇到了麻烦。我安装了Python 3.8,而旧电脑上是3.7.4。主要的区别在于这个文件:

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

在新电脑上,这个文件显示的是AMD64。我最后卸载了3.8,回退到3.7.4,然后把旧电脑上的文件复制到新电脑上,结果遇到了这个错误:

https://stackoverflow.com/a/37819509/495455

我去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相关的东西都不管用,我花了很多时间在这上面。

6

我之前也遇到过同样的问题,主要是因为psycopg2在Windows上用_easy_install_安装不太顺利。我按照下面这个StackOverflow的回答里的说明操作:

在Windows上虚拟环境中安装psycopg2(postgresql)

你需要手动安装psycopg2exe文件:

psycopg2-2.4.2.win-amd64-py2.7-pg9.0.4-release.exe

撰写回答