数据库
首页 > 数据库> > 使用完整的Sqlite3作为Linux上的用户构建Python 2.5

使用完整的Sqlite3作为Linux上的用户构建Python 2.5

作者:互联网

这是一个复杂的问题,至少对我而言.在这里:

我在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!

标签:python,gcc,sqlite3,shared-libraries,pysqlite
来源: https://codeday.me/bug/20190530/1185048.html