如何解决导入错误:dlopen():未找到符号:。。。。应为:平面命名空间

2024-06-16 13:19:49 发布

您现在位置:Python中文网/ 问答频道 /正文

有人能帮我解决这个问题吗

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

我用的是Mac电脑,如果有关系的话


Tags: insovenvlibpackagessitenotcpython
2条回答

我不太清楚问题出在哪里,但我假设__PyEval_GetBuiltinId已被破坏/卸载。
所以我所做的一切就是pip uninstall recordclass然后pip install no-cache-dir recordclass修复这个问题,它似乎起了作用

我遇到了同样的问题,找到了你的问题。我有一台M1 MacBook,但我认为我们遇到了两个问题。 起初,我有一个与你类似的错误:

ImportError> dlopen(): Library not found

我所做的修复此错误的工作是“brew安装”\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu。在我再次安装brew之后,我运行了我的脚本并出现了一个新错误。这次我有一个

no suitable image found: imageXXX found but wrong architecture

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

希望这有帮助

编辑 我刚刚完全卸载了自制软件,并从头开始重新安装,包括酒桶、配方和所有东西!这似乎奏效了。我让Tensorflow和OpenCV都工作了(他们都打印了他们的版本,我在OpenCV上运行了一个简单的摄像头测试)

相关问题 更多 >