Total Pageviews

Wednesday 20 November 2013

如何在Linux上编译PySQLite

1、需先编译SQLite3
1)下载SQLite3的源代码,并解压
可以到SQLite官方网站下载最新的源码,建议下载完整的源码:Legacy Source Code Distribution Formats

 wget http://www.sqlite.org/sqlite-amalgamation-3.6.20.tar.gz
tar zxvf  sqlite-amalgamation-3.6.20.tar.gz
cd  sqlite-3.5.6
./configure --prefix=/usr/local/lib/sqlite3
make
make install  (这样,sqlite3编译完成)

2、安装PySQLite2.6
1)下载PySQLite2.6,并解压
可以到PySQLite官方网站https://pypi.python.org/pypi/pysqlite下载最新安装包:
https://pypi.python.org/packages/source/p/pysqlite/pysqlite-2.6.3.tar.gz
2)修改解压目录下的setup.cfg文件如下:
include_dirs=/usr/local/lib/sqlite3/include
library_dirs=/usr/local/lib/sqlite3/lib
3)安装PySQLite:
python setup.py install
3、成功后就可以在Python环境下导入PySQLite库了
import pysqlite2
【经 验】根据实践,最新的SQLite版本(根据资料从3.5.0以后)似乎和PySQLite2.6不能兼容,编译安装后无法导入(会报失败:pysqlite2/_sqlite.so: undefined symbol: sqlite3_enable_shared_cache),建议不要下载编译最新的SQLite版本,可以安装SQLite3- devevl包,在编译PySQLite的时候按照以下修改setup.cfg即可:
include_dirs=/usr/include
library_dirs=/usr/lib64    --- 因为我安装的是64位操作系统,如果是32位的,似乎应该是/usr/lib)