执行Django项目migrations时遇psycopg2模块缺失错误求助
解决ModuleNotFoundError: No module named 'psycopg2'的问题
核心原因
Django连接PostgreSQL必须依赖psycopg2这个Python驱动包,你的环境未安装该包,因此触发报错。
解决步骤
1. 优先安装预编译二进制包(推荐)
无需编译环境,直接用pip安装psycopg2-binary,适配绝大多数场景:
pip3 install psycopg2-binary
如果使用虚拟环境,需先激活虚拟环境再执行上述命令。
2. 若二进制包安装失败,尝试源码版安装
这种情况需要先安装系统层面的编译依赖:
- Ubuntu/Debian系统:
完成后安装源码版:sudo apt-get install python3-dev libpq-devpip3 install psycopg2 - CentOS/RHEL系统:
再执行:sudo yum install python3-devel postgresql-develpip3 install psycopg2 - Windows系统:
优先用pip安装psycopg2-binary,若仍有问题,可下载对应Python版本、系统位数的预编译whl文件,本地安装:pip3 install 本地文件路径/psycopg2-binary-xxx.whl
3. 验证修复效果
安装完成后重新执行:
python3 manage.py makemigrations
若未再报错,说明驱动安装成功,可继续执行python3 manage.py migrate同步数据库。
内容的提问来源于stack exchange,提问作者En_On
相关产品推荐
相关产品推荐

