M1 mac上导入psycopg2出错:不兼容的架构。

8
尝试导入psycopg2时,我出现了以下错误信息:
ImportError: dlopen(/opt/homebrew/lib/python3.10/site-packages/psycopg2/_psycopg.cpython-310-darwin.so, 0x0002): Library not loaded: /opt/homebrew/opt/postgresql/lib/libpq.5.dylib
  Referenced from: /opt/homebrew/lib/python3.10/site-packages/psycopg2/_psycopg.cpython-310-darwin.so
  Reason: tried: '/opt/homebrew/opt/postgresql/lib/libpq.5.dylib' (no such file), '/usr/local/lib/libpq.5.dylib' (mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64e')), '/usr/lib/libpq.5.dylib' (no such file), '/opt/homebrew/Cellar/postgresql@14/14.5_3/lib/libpq.5.dylib' (no such file), '/usr/local/lib/libpq.5.dylib' (mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64e')), '/usr/lib/libpq.5.dylib' (no such file)

有人知道如何解决这个错误吗?

4个回答

33
我曾经在进行Postgres升级时遇到了同样的问题。重新安装 psycopg2-binary 解决了我的问题,因为它是一个缓存问题。
pip install psycopg2-binary --force-reinstall --no-cache-dir

2
Utku和cgl的解决方案都对我有用。我尝试了两种,这个更符合我的口味。 - boar
1
由于我的包是 psycopg2,所以运行命令 pip install psycopg2 --force-reinstall --no-cache-dir 解决了问题。 - Sanjaya Wijeratne

7

针对 Mac M1 用户;

pip install -i https://test.pypi.org/simple/ psycopg2-binary==2.9.3

这将解决问题。

谢谢。


4

1
卸载-x86_64软件包:
arch -x86_64 python3 -pip uninstall psycopg2-binary

安装-arm64包:

arch -arm64 python3 -m pip install psycopg2-binary

3
请提供一个完整的翻译文本,而不是仅仅返回代码。 - Itération 122442
我不得不反其道而行之,但这样做有效。 - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接