4

これは、少なくとも私にとっては少し複雑な問題です。ここに行きます:

私はLinuxサーバーでユーザーとして働いていますが、まだインストールされていないパッケージをインストールすることは不可能であると考えて間違いありません。

また、動作するPython 2.5(インストールされていない)と動作するSQLite3ライブラリ(インストールされていない形式のSqlite)をセットアップする必要があります。

私にできることは次のとおりです。1。Python2.5をコンパイルして動作させる2.SQLite3のマージをコンパイルする

とにかく-Python2.5は、組み込みのSqlite3(pysqlite)と相互作用することになっています。それは十分に真実のようですが、sqlite3のインポート:sqlite3のインポートは失敗します。これは、最終的には_sqlite3をインポートできないためです。

いくつかのグーグルは、pysqliteが組み込まれているかもしれないが、sqliteは組み込まれていないことを私に理解させます。したがって、私はローカルにsqliteを組み込み、どういうわけかこれら2つのソフトウェアを相互作用させる必要があると想定しました。

けっこうだ。

共有オブジェクトにアマルガムをコンパイルすることはできますが、面倒なようです。sqlite3.soの名前を_sqlite3に変更して、どこかにスローする必要がありますか?少し怪しいようですが、とにかく試してみましたが、エラーが発生しました:動的モジュールがinit関数を定義していません(init_sqlite3)

この時点で私は少し立ち往生しています。私はものの構築/コンパイルにあまり精通していません-sudoapt-get/ sudo yumが私を怠惰にしたことを認めますが、何らかの理由で現時点ではオプションではありません。

感謝します!

4

1 に答える 1

6

まず、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!
于 2011-12-28T15:06:33.573 に答える