这是一个复杂的问题,至少对我而言.在这里:
我在linux服务器上作为用户工作,可以安全地假设安装任何尚未安装的软件包根本不可能.
此外,我需要使用工作的sqlite3库(未安装的任何形式的sqlite)设置Python 2.5(未安装).
我能做的是:
1.编译Python 2.5并使其工作
2.编译sqlite3的合并
无论如何 – Python 2.5应该与sqlite3内置(pysqlite)进行交互.这似乎是真的,但是导入sqlite3:
import sqlite3
失败,因为 – 最终 – 无法导入_sqlite3
一些谷歌搜索让我明白,虽然pysqlite可能是内置的,但sqlite不是.因此我假设我需要在本地构建sqlite并以某种方式使这两个软件进行交互.
很公平.
我能够 – 我希望如此 – 编译合并到共享对象,但它看起来很混乱.我应该将sqlite3.so重命名为_sqlite3并将其扔到某个地方吗?看起来有点腥,我还是尝试了它并得到一个错误:
动态模块没有定义init函数(init_sqlite3)
在这一点上,我有点卡住了.我不太熟悉构建/编译东西 – 我承认sudo apt-get / sudo yum让我很懒,但由于某种原因它暂时不是一个选项.
帮助赞赏!
解决方法
首先使用–prefix下载,构建和安装sqlite3.然后构建具有相同前缀的python,它将找到sqlite安装并将构建_sqlite3模块.
$mkdir -p ~/applications/src $cd ~/applications/src $wget http://www.sqlite.org/sqlite-autoconf-3070900.tar.gz $tar xvvf sqlite-autoconf-3070900.tar.gz $cd sqlite-autoconf-3070900 $./configure --prefix=~/applications $make $make install $cd ~/applications/src $wget http://www.python.org/ftp/python/2.5.2/Python-2.5.2.tgz $tar xvvf Python-2.5.2.tgz $cd Python-2.5.2 $./configure --prefix=~/applications $make $make install $~/applications/bin/python >>> import sqlite3 >>> # no error!