如何解决导入错误: dlopen(): 找不到符号:....预期在:平面命名空间

任何人都可以帮我解决这个问题吗?

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,如果这有任何相关性


偶然的你
浏览 251回答 3
3回答

千巷猫影

我无法完全弄清楚问题是什么,但我假设已损坏/卸载。所以我所做的一切来解决这个问题是然后,它似乎已经起作用了。__PyEval_GetBuiltinIdpip uninstall recordclasspip install --no-cache-dir recordclass

慕哥9229398

我遇到了同样的问题,并找到了你的问题。我有一台M1 MacBook,但我认为我们遇到了2个问题。起初,我有一个和你类似的错误:ImportError> dlopen(): Library not found我为修复此错误所做的是“brew install ___”丢失的库,在我的情况下,它是tesseract。在我再次运行脚本后,我再次安装它,并得到一个新的错误。这次我有一个no suitable image found: imageXXX found but wrong architecture因此,我认为可能发生的是,我们的M1芯片与酿造安装公式之间的兼容性存在潜在的错误。我目前正在尝试找到解决方案。我要尝试的第一个是从头开始重置我的安装,如果这不起作用,请查看替代方案。最终,我认为解决问题的方法是从源代码安装,就像OpenCV网站上描述的那样:https://docs.opencv.org/master/d0/db2/tutorial_macos_install.html。希望这有帮助!编辑我刚刚完全卸载了Homebrew,并从头开始重新安装它,无论是木桶,配方,还是一切!它似乎有效。我让Tensorflow和OpenCV都工作了(他们都打印了他们的版本,我在OpenCV上运行了一个简单的相机测试)

慕妹3242003

这里很好地描述了这个问题。我在macOS M1芯片中的NetCDF4库上遇到了同样的问题。在我的情况下()使用brew和pip安装库并没有解决问题,因为提供的软件包与M1芯片不兼容。该问题将按照他们的Github中提到的解决。NetCDF4@1.5.8NetCDF@1.6.0在这种情况下,我建议:首先,请确保安装正在系统中使用的库(在本例中为 )的依赖项,以防您使用的是虚拟环境,而不仅仅是在环境中。recordclass第二次检查库的轮子是否符合您的机器要求。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python