Python 我使用sqlite+;pysqlite2+;炼金术。但也有一些令人困惑的错误。未定义的符号 文件“/home/myweb/app/db.py”,第40行,在__ 引擎=创建引擎('sqlite://'+db\u路径) 文件“/usr/loc

Python 我使用sqlite+;pysqlite2+;炼金术。但也有一些令人困惑的错误。未定义的符号 文件“/home/myweb/app/db.py”,第40行,在__ 引擎=创建引擎('sqlite://'+db\u路径) 文件“/usr/loc,python,sqlite,sqlalchemy,pysqlite,Python,Sqlite,Sqlalchemy,Pysqlite,我使用sqlite+;pysqlite2+;炼金术。但也有一些令人困惑的错误。未定义的符号 文件“/home/myweb/app/db.py”,第40行,在__ 引擎=创建引擎('sqlite://'+db\u路径) 文件“/usr/local/lib/python2.7/site packages/sqlalchemy/engine/_init__.py”,第386行,在create_引擎中 返回策略。创建(*args,**kwargs) 文件“/usr/local/lib/p

我使用sqlite+;pysqlite2+;炼金术。但也有一些令人困惑的错误。未定义的符号 文件“/home/myweb/app/db.py”,第40行,在__ 引擎=创建引擎('sqlite://'+db\u路径) 文件“/usr/local/lib/python2.7/site packages/sqlalchemy/engine/_init__.py”,第386行,在create_引擎中 返回策略。创建(*args,**kwargs) 文件“/usr/local/lib/python2.7/site packages/sqlalchemy/engine/strategies.py”,第75行,在create中 dbapi=方言\ cls.dbapi(**dbapi\参数) dbapi中的文件“/usr/local/lib/python2.7/site-packages/sqlalchemy/dialogs/sqlite/pysqlite.py”,第339行 提高e 导入错误:/usr/local/lib/python2.7/site-packages/pysqlite2//u sqlite.so: 未定义符号:PyOS_mystrnicmp 谢谢大家,我明白了。在我用sqlite3-devel重新编译python2.7之后,我成功了。 我猜python2.7的第一次编译没有sqlite3 devel,因此sqlalchemy会加载pysqlite2。
当Python 2.7内置了
sqlite3
时,为什么要使用
pysqlite2
?我不想安装pysqlite2。在我命令“pip install pysqlite”之后,pysqlite的版本是pysqlite2。不,根本不需要安装
pysqlite2
,因为
sqlite3
内置于Python 2.7中。这是标准图书馆的一部分。首先,非常感谢。但是,在我发布了“pip卸载pysqlite”之后,出现了相同的错误,[未定义的符号:PyOS_mystrnicmp]不使用内置的
sqlite3
的一个有效原因是如果您需要更新版本的SQLite,不是吗?我有一个运行3.14.x的独立sqlite3安装,但我的Python版本似乎报告了3.7。。。我正在开发一个大型的代码库,因此将Python升级到最新的2.7.x可能会导致重大的更改。 File "/home/myweb/app/db.py", line 40, in __init__ engine = create_engine('sqlite:///'+db_path) File "/usr/local/lib/python2.7/site-packages/sqlalchemy/engine/__init__.py", line 386, in create_engine return strategy.create(*args, **kwargs) File "/usr/local/lib/python2.7/site-packages/sqlalchemy/engine/strategies.py", line 75, in create dbapi = dialect_cls.dbapi(**dbapi_args) File "/usr/local/lib/python2.7/site- packages/sqlalchemy/dialects/sqlite/pysqlite.py", line 339, in dbapi raise e ImportError: /usr/local/lib/python2.7/site-packages/pysqlite2/_sqlite.so: undefined symbol: PyOS_mystrnicmp thanks everyone, I got it. after I recompile python2.7 with sqlite3-devel, then I success. I guess that the first compile of python2.7 there is no sqlite3-devel, so sqlalchemy loads pysqlite2.