【问题标题】:Import error with psycopg2: symbol not found in flat namespace '_PQbackendPID'psycopg2 的导入错误:在平面命名空间“_PQbackendPID”中找不到符号
【发布时间】:2022-07-20 07:25:40
【问题描述】:

有谁知道如何解决这个导入错误?我正在使用 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'

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

【问题讨论】:

  • 这:from psycopg2._psycopg import 没有意义。这是您正在做的事情还是来自您正在使用的某些代码?如果你这样做会发生什么:import psycopg2添加答案作为问题的更新
  • 也遇到这种情况 - 使用简单的import psycopg2 也会发生该错误

标签: macos psycopg2 python-3.8 apple-m1


【解决方案1】:

我也遇到过。原来我路径上的pg_config 版本是x86 二进制文件,但我使用的是ARM Python。如果你使用Postgres.app,那么最新版本是通用的(x86 ARM),你可以使用PATH="/Applications/Postgres.app/Contents/Versions/latest/bin:$PATH" pip install --force-reinstall psycopg2-binary==whatever.version

【讨论】:

    猜你喜欢
    • 2019-03-17
    • 1970-01-01
    • 2022-06-21
    • 2011-10-23
    • 2023-02-13
    • 2021-10-29
    • 1970-01-01
    • 2022-10-25
    • 2023-02-22
    相关资源
    最近更新 更多