【问题标题】:Postgres suddenly raise error '/usr/lib/libpq.5.dylib' (no such file)Postgres 突然引发错误 \'/usr/lib/libpq.5.dylib\' (没有这样的文件)
【发布时间】:2022-09-28 08:12:05
【问题描述】:
当我运行 Django 项目或任何与 Postgres 相关的代码时:
Referenced from: \'/Users/mahmoudnasser/.local/share/virtualenvs/wyspp_backend-PwdII1PB/lib/python3.8/site-packages/psycopg2/_psycopg.cpython-38-darwin.so\'
Reason: tried: \'/opt/homebrew/opt/postgresql/lib/libpq.5.dylib\' (no such file), \'/usr/local/lib/libpq.5.dylib\' (no such file), \'/usr/lib/libpq.5.dylib\' (no such file)
我在网上尝试了很多解决方案,但都没有奏效。
笔记: 我用苹果系统
标签:
python
django
postgresql
macos
【解决方案1】:
要解决此问题,只需运行以下命令:
sudo mkdir -p /usr/local/lib && sudo ln -s /opt/homebrew/opt/postgresql@14/lib/postgresql@14/libpq.5.dylib /usr/local/lib/libpq.5.dylib
【解决方案2】:
在brew PostgreSQL 升级之后,我也发生了类似的事情。我的问题的解决方案是删除我的虚拟环境,在我的情况下为.venv,然后重新运行:
python3 -m venv .venv
source .venv/bin/activate
python3 -m pip install -r requirements.txt
之后,我可以毫无问题地启动我的应用程序。
我认为这个问题是过时的依赖关系图的结果。用 pip 重新安装依赖找到了新版本的 Postgres 并正确链接了libpq.5.dylib。
请注意,我使用的是以下 psycopg2 依赖项:
psycopg2-binary==2.9.3