如何解决 ImportError: dlopen(): Symbol not find:.... Expected in: flat 命名空间

Oli*_*bie 11 python import mutable importerror

谁能帮我解决这个问题?

ImportError: dlopen(/Users/......./venv/lib/python3.6/site-packages/recordclass/mutabletuple.cpython-36m-darwin.so, 2): Symbol not found: __PyEval_GetBuiltinId
  Referenced from: /Users/......./venv/lib/python3.6/site-packages/recordclass/mutabletuple.cpython-36m-darwin.so
  Expected in: flat namespace
 in /Users/......../venv/lib/python3.6/site-packages/recordclass/mutabletuple.cpython-36m-darwin.so
Run Code Online (Sandbox Code Playgroud)

我正在使用 Mac(如果有相关的话)

Oli*_*bie 13

我不太清楚问题是什么,但我假设__PyEval_GetBuiltinId已损坏/卸载。
所以我所做的就是解决这个问题,pip uninstall recordclass然后pip install --no-cache-dir recordclass它似乎起作用了


Str*_*pio 5

我遇到了同样的问题并发现了你的问题。我有一台 M1 MacBook,但我认为我们遇到了 2 个问题。一开始,我也遇到了和你类似的错误:

ImportError> dlopen(): Library not found
Run Code Online (Sandbox Code Playgroud)

我修复这个错误的方法是“brew install ___”缺少的库,在我的例子中它是超正方体。在我再次安装它之后,我运行了我的脚本并收到了一个新错误。这次我有一个

no suitable image found: imageXXX found but wrong architecture
Run Code Online (Sandbox Code Playgroud)

所以我认为可能发生的情况是我们的 M1 芯片和 brew install-ed 公式之间的兼容性存在潜在错误。我目前正在努力寻找解决方案。我要尝试的第一个方法是从头开始重置我的安装,如果这不起作用,请考虑替代方案。最终,我认为解决问题的方法是从源代码安装,如 OpenCV 网站上所述: https: //docs.opencv.org/master/d0/db2/tutorial_macos_install.html

希望这有帮助!

编辑 我刚刚完全卸载 Homebrew 并从头开始重新安装它,两个木桶,公式,一切!这似乎有效。我让 Tensorflow 和 OpenCV 都可以工作(它们都打印了它们的版本,我在 OpenCV 上运行了一个简单的相机测试)