Python(自制)在Sqlite上返回错误
我通过自制软件安装了Python 2.7.6和Python 3.3.4。我在尝试使用Sqlite时遇到了一些错误,并将错误追溯到“未找到符号”错误。请看下面的跟踪 我怎样才能让这东西工作Python(自制)在Sqlite上返回错误,python,sqlite,homebrew,Python,Sqlite,Homebrew,我通过自制软件安装了Python 2.7.6和Python 3.3.4。我在尝试使用Sqlite时遇到了一些错误,并将错误追溯到“未找到符号”错误。请看下面的跟踪 我怎样才能让这东西工作 >>> import sqlite3 Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/local/Cellar/python/2.7.6/Fram
>>> import sqlite3
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/Cellar/python/2.7.6/Frameworks/Python.framework/Versions/2.7/lib/python2.7/sqlite3/__init__.py", line 24, in <module>
from dbapi2 import *
File "/usr/local/Cellar/python/2.7.6/Frameworks/Python.framework/Versions/2.7/lib/python2.7/sqlite3/dbapi2.py", line 27, in <module>
from _sqlite3 import *
ImportError: dlopen(/usr/local/Cellar/python/2.7.6/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload/_sqlite3.so, 2): Symbol not found: _sqlite3_enable_load_extension
Referenced from: /usr/local/Cellar/python/2.7.6/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload/_sqlite3.so
Expected in: /usr/lib/libsqlite3.dylib
in /usr/local/Cellar/python/2.7.6/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload/_sqlite3.so
导入sqlite3
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
文件“/usr/local/cillar/python/2.7.6/Frameworks/python.framework/Versions/2.7/lib/python2.7/sqlite3/__init__.py”,第24行
从dbapi2导入*
文件“/usr/local/ceral/python/2.7.6/Frameworks/python.framework/Versions/2.7/lib/python2.7/sqlite3/dbapi2.py”,第27行
从_sqlite3导入*
导入错误:dlopen(/usr/local/ceral/python/2.7.6/Frameworks/python.framework/Versions/2.7/lib/python2.7/lib-dynload//u sqlite3.so,2):未找到符号:\ u sqlite3\ u启用\加载\扩展
引用自:/usr/local/ceral/python/2.7.6/Frameworks/python.framework/Versions/2.7/lib/python2.7/lib-dynload//u sqlite3.so
应位于:/usr/lib/libsqlite3.dylib中
在/usr/local/ceral/python/2.7.6/Frameworks/python.framework/Versions/2.7/lib-dynload//u sqlite3.so中
编辑:Sqlite3似乎也已正确安装(sqlite-3.8.3已安装)
另一方面,为什么自制软件坚持使用Python 2.7.6,而Python网站提供2.7.8版供下载?您需要运行
brew update
;和都看到了许多更新
例如,Python2.7.8自发布以来就一直可用。您的SQLite问题可能也早已通过更新得到解决
当您在使用自制软件时遇到问题,最好运行brew doctor
;输出会告诉您也运行brew update
:
$brew医生
请注意,这些警告仅用于帮助自制软件维护人员
如果您提交问题,则使用调试。如果你使用自制的一切都是
工作正常:请不要担心,忽略它们。谢谢
警告:您的自制已过时。
您至少24小时没有更新。这是一个很长的时间在布雷兰!
要更新自制软件,请运行“brew更新”。
您可能想更新brew,从7月2日开始。运行brew update
。我可以通过pip安装替代PySQLite(2)包来使用Sqlite。这仍然只是一个解决方法,标准库“sqlite3”的问题仍然存在。@MartijnPieters实际上做到了这一点。我不知道brew本身必须首先更新才能使用升级的“公式”。