You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

docker-compose启动Django报psycopg2错误,虚拟环境装包提示pip._vendor.six不存在

问题成因
  • Error loading psycopg2 module报错成因:Django项目配置了PostgreSQL作为数据库后端,但运行环境未安装psycopg2相关依赖。需要注意的是,docker-compose启动的服务运行在独立容器内,依赖和本地虚拟环境完全隔离,仅在本地安装依赖无法解决容器内的缺失问题。
  • No module named 'pip._vendor.six'报错成因:虚拟环境内的pip版本过旧或文件损坏,旧版pip依赖内置的six模块,当pip本身的捆绑依赖丢失、或pip版本与虚拟环境的Python版本不兼容时,就会触发该报错。全局pip没有损坏因此可以正常安装。
解决方案

修复本地虚拟环境pip报错

  • 激活虚拟环境后,执行python -m ensurepip --upgrade,该命令会直接修复损坏的pip并升级到适配当前Python版本的稳定版,规避pip自身启动失败的问题。
  • 验证pip修复结果,执行pip --version,正常输出版本号即为修复成功。
  • 若需要在本地虚拟环境安装psycopg2,推荐执行pip install psycopg2-binary,该版本不需要本地编译PostgreSQL相关依赖,安装成功率远高于原生psycopg2。

修复docker-compose启动报错

  • 打开项目根目录的requirements.txt文件,添加依赖项psycopg2-binary,版本号可与《Django for professionals》书中指定的版本保持一致。
  • 不要直接执行docker-compose up,需要加--build参数重新构建镜像,命令为docker-compose up --build,让容器在构建阶段安装新增的psycopg2依赖,即可解决启动时的模块缺失问题。

内容的提问来源于stack exchange,提问作者CuriousDeus

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 02:27:03