Сборка Python 2.5 с полным Sqlite3 в качестве пользователя на Linux - PullRequest
4 голосов
/ 28 декабря 2011

Это немного сложная проблема, по крайней мере для меня.Вот так:

Я работаю как пользователь на сервере Linux, и можно с уверенностью предположить, что установка любого еще не установленного пакета просто невозможна.

Также мне нужно настроить рабочий Python2.5 (не установлен) с работающей библиотекой SQLite3 (Sqlite в любой форме не установлен).

Что я могу сделать: 1. Скомпилировать Python 2.5 и заставить его работать 2. Скомпилировать объединение SQLite3

В любом случае - Python 2.5 должен взаимодействовать со встроенным Sqlite3 (pysqlite).Это кажется достаточно правдоподобным, однако импорт sqlite3: импорт sqlite3 завершается неудачно, потому что - в конце концов - невозможно импортировать _sqlite3

Некоторые поиски в Google привели меня к пониманию, что, хотя pysqlite может быть встроенным, sqlite - нет.Поэтому я предположил, что мне нужно встроить локально sqlite и каким-то образом заставить эти две части программного обеспечения взаимодействовать.

Достаточно справедливо.

Я могу - я надеюсь, что - скомпилировать объединение для общего объекта, но это выглядит грязно.Должен ли я переименовать sqlite3.so в _sqlite3 и выбросить куда-нибудь?Это немного подозрительно, я все равно попробовал и получил ошибку: динамический модуль не определяет функцию инициализации (init_sqlite3)

На данный момент я немного застрял.Я не слишком знаком со сборкой / компиляцией - я признаю, что sudo apt-get / sudo yum сделало меня ленивым, но по какой-то причине это не вариант на данный момент.

Помощь оценена!

1 Ответ

6 голосов
/ 28 декабря 2011

Сначала скачайте, соберите и установите sqlite3 с --prefix. Затем соберите 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!
...