Anaconda Python 2.7环境中无法导入psycopg2问题求助
解决Anaconda 2.7中Jupyter Notebook导入psycopg2的DLL错误
这个问题我之前帮朋友排查过,大概率是依赖的PostgreSQL动态链接库没被Anaconda环境识别到,或者你安装psycopg2的环境和Jupyter使用的环境不一致,试试下面这几个方案:
方案一:确保psycopg2安装在Anaconda的Python环境中
有时候普通命令提示符默认用的是系统Python而非Anaconda环境,你可以换用Anaconda专属终端来操作:
- 打开「Anaconda Prompt」(不是普通的命令提示符)
- 激活Anaconda默认环境:
activate root - 重新安装对应版本的psycopg2:
pip install psycopg2==2.7.3.2
安装完成后重启Jupyter Notebook,再尝试导入psycopg2测试。
方案二:手动添加PostgreSQL的DLL路径到系统环境变量
psycopg2依赖PostgreSQL的libpq.dll文件,如果这个文件不在系统PATH里,Anaconda的Python就找不到它:
- 找到你的PostgreSQL安装目录下的bin文件夹,比如
C:\Program Files\PostgreSQL\10\bin(版本号根据你实际安装的调整) - 把这个路径添加到系统环境变量:
- 右键「此电脑」→「属性」→「高级系统设置」→「环境变量」
- 在系统变量里找到
Path,点击「编辑」,添加上述路径
- 重启电脑(或重启Anaconda和Jupyter),再尝试导入操作
方案三:安装psycopg2-binary预编译版本
官方psycopg2包有时需要本地编译或依赖系统库,而psycopg2-binary是预编译好的版本,自带所有所需依赖:
在Anaconda Prompt里执行以下命令:
pip uninstall psycopg2 pip install psycopg2-binary==2.7.3.2
这个方法通常能快速解决DLL缺失问题,因为它把所有依赖都打包进了安装包。
方案四:检查Jupyter的内核环境
有时候Jupyter可能没使用你安装psycopg2的Anaconda环境,你可以先在Jupyter里运行这段代码确认当前Python路径:
import sys print(sys.executable)
把输出路径和Anaconda的Python路径(比如C:\Users\amitdarak\AppData\Local\Continuum\anaconda2\python.exe)对比,如果不一致,说明Jupyter用的是其他内核,需要切换:
- 在Anaconda Prompt里执行:
python -m ipykernel install --user --name=anaconda2 - 重启Jupyter Notebook,在「Kernel」→「Change kernel」里选择刚才添加的
anaconda2内核,再尝试导入psycopg2
内容的提问来源于stack exchange,提问作者Amit Darak
相关产品推荐
相关产品推荐

