Mac M2环境下Django项目psycopg2安装及运行报错求助
问题解决:Django + psycopg2 在M2 Mac上的安装报错
先搞懂psycopg2是什么
psycopg2是Python连接PostgreSQL数据库的官方驱动,你的Django项目配置了PostgreSQL作为数据库,必须安装它才能正常启动服务。
报错原因
你使用的是M2 Mac(ARM架构),而psycopg2 2.9.5的源码包不支持PEP 517构建规范;同时ARM环境下编译源码包需要依赖PostgreSQL的系统库,未提前安装的话就会触发编译失败。
解决步骤
- 安装系统依赖
用Homebrew安装PostgreSQL的依赖库,为后续编译提供必要的头文件和库文件:
brew install libpq brew link libpq --force
替换为预编译版本
修改项目依赖文件(比如pyproject.toml),把psycopg2==2.9.5替换为psycopg2-binary==2.9.5。psycopg2-binary是预编译好的二进制包,不需要本地编译,完美适配ARM架构,同时支持PEP 517构建规范。重新安装依赖
执行项目的安装命令:
make install
或者直接用Poetry命令:
poetry install
- 验证虚拟环境(可选)
确保Poetry虚拟环境使用的是ARM版本的Python,M2 Mac偶尔会残留x86架构的Python环境:
poetry run python -c "import platform; print(platform.machine())"
输出应为arm64,如果是x86_64,需要重新创建基于ARM Python的虚拟环境。
- 启动服务
现在重新运行启动命令:
make runserver
Django服务应该能正常启动了。
内容的提问来源于stack exchange,提问作者Nyi Nyi Hmue Aung
相关产品推荐
相关产品推荐

