【发布时间】:2019-06-25 19:47:29
【问题描述】:
我正在使用最新版本的 macOS 和 homebrew,brew doctor 没有发现任何问题。我只是使用 brew install python, brew install python@2 来获取最新版本的python。
当我输入 python -c "import sqlite3" 时,我收到以下错误消息:
python2.7 -c "导入 sqlite3"
130 ↵ Traceback(最近一次调用最后一次):文件“”,第 1 行,在 文件 "/usr/local/Cellar/python@2/2.7.15_2/Frameworks/Python.framework/Versions/2.7/lib/python2.7/sqlite3/init.py", 第 24 行,在 从 dbapi2 导入 * 文件“/usr/local/Cellar/python@2/2.7.15_2/Frameworks/Python.framework/Versions/2.7/lib/python2.7/sqlite3/dbapi2.py”, 第 28 行,在 从_sqlite3导入* ImportError:dlopen(/usr/local/Cellar/python@2/2.7.15_2/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload/_sqlite3.so, 2):未找到符号:_sqlite3_enable_load_extension 引用 从: /usr/local/Cellar/python@2/2.7.15_2/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload/_sqlite3.so 预期在:/usr/lib/libsqlite3.dylib 中 /usr/local/Cellar/python@2/2.7.15_2/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload/_sqlite3.sopython -c "导入 sqlite3"
1 ↵ Traceback(最近一次调用最后一次):文件“”,第 1 行,in 文件 "/usr/local/Cellar/python/3.7.2_1/Frameworks/Python.framework/Versions/3.7/lib/python3.7/sqlite3/init.py", 第 23 行,在 从 sqlite3.dbapi2 导入 * 文件“/usr/local/Cellar/python/3.7.2_1/Frameworks/Python.framework/Versions/3.7/lib/python3.7/sqlite3/dbapi2.py”, 第 27 行,在 从_sqlite3导入* ImportError:dlopen(/usr/local/Cellar/python/3.7.2_1/Frameworks/Python.framework/Versions/3.7/lib/python3.7/lib-dynload/_sqlite3.cpython-37m-darwin.so , 2):未找到符号:_sqlite3_enable_load_extension 引用 从: /usr/local/Cellar/python/3.7.2_1/Frameworks/Python.framework/Versions/3.7/lib/python3.7/lib-dynload/_sqlite3.cpython-37m-darwin.so 预期在:/usr/lib/libsqlite3.dylib 中 /usr/local/Cellar/python/3.7.2_1/Frameworks/Python.framework/Versions/3.7/lib/python3.7/lib-dynload/_sqlite3.cpython-37m-darwin.so
什么可能导致问题?我尝试下载python源代码并编译它,并将_sqlite3.so或_sqlite3.cpython-37m-darwin.so文件移动到brew安装的文件夹中,一切正常。 brew 会不会忘记公式中的某些内容?除了从源代码编译.so文件并手动解决问题,我还能做什么?
【问题讨论】:
-
macOS 10.14.3 (18D42) 和 brew doctor print "Your system is ready to brew."一切似乎都很正常。
-
我有相同的设置(自制 python 和 python@2),我有 import sqlite 在 3 上工作,在 2 上“没有名为 sqlite 的模块”
-
顺便说一句,当我运行“brew test python”时,我没有收到错误!但是当实际运行 import sqlite3 时,它会崩溃。我相信这个隐藏的测试失败会导致问题。公式有问题。
标签: python homebrew homebrew-cask