Сборка Python 2.5 с полным Sqlite3 в качестве пользователя на Linux
Это немного сложная проблема, по крайней мере для меня. Здесь это идет:
Я работаю как пользователь на сервере Linux, и можно с уверенностью предположить, что установка любого еще не установленного пакета просто невозможна.
Также мне нужно настроить рабочий Python 2.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 ответ
Сначала скачайте, соберите и установите 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!