没有名为psycopg2的模块
我有一个使用 PostgreSQL 9 的 Django 项目。我安装了 psycopg2,但当我运行项目时,出现了“加载 psycopg2 模块时出错:dll 加载失败”的提示。这是我第一次遇到这个问题。我使用的是 64 位的 Windows 7 和 Python 2.7。请问我该怎么解决这个问题呢?
2 个回答
我知道这件事又要让我头疼了,正如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相关的东西都不管用,我花了很多时间在这上面。
我之前也遇到过同样的问题,主要是因为psycopg2在Windows上用_easy_install_安装不太顺利。我按照下面这个StackOverflow的回答里的说明操作:
在Windows上虚拟环境中安装psycopg2(postgresql)
你需要手动安装psycopg2的exe文件:
psycopg2-2.4.2.win-amd64-py2.7-pg9.0.4-release.exe