如何在virtualenv中升级Python2.7.3中的sqlite3?
python 2.7.3附带了一个sqlite3库,但它几乎不是最新版本 我想在VirtualEnvironment中升级它。换句话说,升级只适用于安装在此virtualenv中的python版本如何在virtualenv中升级Python2.7.3中的sqlite3?,python,sqlite,virtualenv,Python,Sqlite,Virtualenv,python 2.7.3附带了一个sqlite3库,但它几乎不是最新版本 我想在VirtualEnvironment中升级它。换句话说,升级只适用于安装在此virtualenv中的python版本 正确的方法是什么?以下内容对我很有用,但如果有改进的余地,请发表意见: 激活要安装最新的sqlite3 从googlecode:wget获取pysqlite包的最新源代码http://pysqlite.googlecode.com/files/pysqlite-2.6.3.tar.gz 从源代码处编译
正确的方法是什么?以下内容对我很有用,但如果有改进的余地,请发表意见:
sqlite3
wget获取pysqlite
包的最新源代码http://pysqlite.googlecode.com/files/pysqlite-2.6.3.tar.gz
pysqlite
,并与最新的sqlite
数据库一起编译:python setup.py build\u static
python setup.py安装的站点包目录中
pysqlite
安装到virtualenv/lib/python2.7/site-packages的路径中,这是所有其他安装了pip的库所在的位置
现在,我已经在virtualenv中安装了最新版本的
sqlite
(编译成pysqlite
),所以我可以这样做:从pysqlite2导入dbapi2作为sqlite
,我曾经遇到过同样的问题。这为我解决了问题:
我检查了如下设置,效果如下:
export export LD_LIBRARY_PATH=$HOME/<your-sqlite-install-dir>/sqlite3/lib
你可以用两种方法中的任何一种来检查它
在virtualenv中的Python中,首先执行以下操作:
>>> import _sqlite3
>>> _sqlite3.__file__
'/usr/lib/…/_sqlite3.cpython-35m-i386-linux-gnu.so'
然后退出Python并对返回的字符串运行ldd
:
$ ldd /usr/lib/…/_sqlite3.cpython-35m-i386-linux-gnu.so
> …
> libsqlite3.so.0 => /home/…/sqlite3/lib/libsqlite3.so.0
> …
或者,也可以从virtualenv使用Python:
现在没时间了:应该可以使用
pysqlite
包,只要它在编译时选择较新的sqlite版本。当虚拟环境处于活动状态时,需要将其扩展为指向新的sqlite库。非常感谢!!!此修复了在Google代码链接不再有效的情况下尝试在Django中使用sqlite时出现的“无法导入名称utils”错误。可在以下网址找到:https://pypi.python.org/packages/source/p/pysqlite/pysqlite-2.6.3.tar.gz
请注意,pysqlite仅适用于Python 2。Python 3的人运气不好。但在测试sqlite3.sqlite_version
后,它仍然返回旧版本。此主题与使用Python路径的想法相矛盾:
$ ldd /usr/lib/…/_sqlite3.cpython-35m-i386-linux-gnu.so
> …
> libsqlite3.so.0 => /home/…/sqlite3/lib/libsqlite3.so.0
> …
>>> import sqlite3
>>> sqlite3.sqlite_version
'3.21.0' # Was 3.11.8 before