至少对我来说,这是一个复杂的问题。在这里:
我在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让我很懒,但由于某种原因它暂时不是一个选项。
帮助表示赞赏!
答案 0 :(得分:6)
首先使用--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!