psycopg2 导入错误:在平面命名空间“_PQbackendPID”中找不到符号

Han*_*nna 7 macos psycopg2 python-3.8 apple-m1

有谁知道如何修复此导入错误?我正在使用 macOS Monterey 版本 12.0.1。

from psycopg2._psycopg import (# noqa
ImportError: dlopen(/Users/myname/data-env/lib/python3.8/site-packages/psycopg2/_psycopg.cpython-38-darwin.so, 0x0002): symbol not found in flat namespace '_PQbackendPID'
Run Code Online (Sandbox Code Playgroud)

更新:错误指向我的代码中的“import psycopg2”,然后指向 /Users/myname/data-env/lib/python3.8/site-packages/psycopg2/_psycopg.cpython 中的“from psycopg2._psycopg import” -38-达尔文.so

小智 6

我也遇到同样的情况。事实证明,pg_config我的路径上的版本是 x86 二进制文件,但我使用的是 ARM Python。如果您使用Postgres.app,那么最新版本是通用的(x86ARM),您可以执行PATH="/Applications/Postgres.app/Contents/Versions/latest/bin:$PATH" pip install --force-reinstall psycopg2-binary==whatever.version.