跳到主要内容

Mac上使用psycopg时报错

报错场景

  • 环境:我用Mac M1,postgresql安装在docker里

报错信息

检查1:package是否存在虚拟环境

已经安装了psycopg==3.2.3,虚拟环境也能看到包,但是用Django做makemigrations提示找不到包

包是存在的

  • 推测:那就可能是无法连接pgsql的原因了
  • 搜索:谷歌搜索有人本地安装pgsql后,就正常了,所以怀疑本地没有安装pgsql客户端组建了导致无法调用
  • 搜索claude:确实如此,本地安装会包含客户端工具、服务端uz jianuzjian

检查2:postgresql必须安装客户端工具

  • 安装postgresql
brew install postgresql@14
  • 关闭postgresql服务,看能不能直接连接远程
brew services stop postgresql
  • 测试链接
psql -h localhost -p 5432 -U postgres

总结

python链接postgresql,除了保证package存在与环境下,还要安装客户端链接工具也要存在本地