问题描述
更新到Mac Catalina(版本10.15.6)之后,我不得不重新安装Python和所有相关模块。 我现在的问题是,当添加模块ibm_db时,尝试运行程序时出现以下错误消息:
ImportError: dlopen(/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/ibm_db.cpython-37m-darwin.so,2): Symbol not found: ___cxa_throw_bad_array_new_length
Referenced from: /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/clidriver/lib/libdb2.dylib
Expected in: /usr/lib/libstdc++.6.dylib
in /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/clidriver/lib/libdb2.dylib
我正在使用PyCharm 2018.3.7(CE)。
任何人看到了这个,并对此有一个解决办法?
解决方法
问题是由于系统中安装了旧版本的/usr/lib/libstdc++.6.dylib所致。新安装的ibm_db正在寻找libstdc ++。6.dylib的较新版本。
有两种快速解决方案。您可以使用以下任何一种:
- 在系统中安装版本大于等于8的新gcc,并设置环境变量以使用它,以便应该从新版本的gcc中获取libstdc ++。6.dylib,而不是现有的旧版本。
OR
- 导出DYLD_LIBRARY_PATH = / Library / Frameworks / Python.framework / Versions / 3.7 / lib / python3.7 / site-packages / clidriver / lib
谢谢。