为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

偶然的你 2022-09-06 18:25:12
任何人都可以帮我解决这个问题吗?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,如果这有任何相关性
查看完整描述

3 回答

?
千巷猫影

TA贡献1829条经验 获得超7个赞

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

查看完整回答
反对 回复 2022-09-06
?
慕哥9229398

TA贡献1877条经验 获得超6个赞

我遇到了同样的问题,并找到了你的问题。我有一台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上运行了一个简单的相机测试)


查看完整回答
反对 回复 2022-09-06
?
慕妹3242003

TA贡献1824条经验 获得超6个赞

这里很好地描述了这个问题。我在macOS M1芯片中的NetCDF4库上遇到了同样的问题。在我的情况下()使用brew和pip安装库并没有解决问题,因为提供的软件包与M1芯片不兼容。该问题将按照他们的Github中提到的解决。NetCDF4@1.5.8NetCDF@1.6.0

在这种情况下,我建议:

首先,请确保安装正在系统中使用的库(在本例中为 )的依赖项,以防您使用的是虚拟环境,而不仅仅是在环境中。recordclass

第二次检查库的轮子是否符合您的机器要求。


查看完整回答
反对 回复 2022-09-06
  • 3 回答
  • 0 关注
  • 250 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信