2011-12-28 6 views
4

これは少なくとも私にとっては複雑な問題です。ここに行く:完全なSqlite3をPython 2.5でビルドすると、Linux上でユーザとして

私はLinuxサーバー上のユーザーとして働いています。既にインストールされていないパッケージをインストールすることは単に不可能であると想定するのは安全です。

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

私は何をすることができますことは次のとおりです。 1.コンパイルのPython 2.5とそれがとにかくSQLite3の

の 2.コンパイル合併を動作させる - のPython 2.5は、sqlite3のビルトイン(pysqliteの)との相互作用を持つことになっています。最後に - - いくつかのpysqliteのは-で構築することができる一方で、sqliteのではないことを理解するために私を導く_sqlite3

をグーグルでインポートすることは不可能であるため、 が失敗した インポートsqlite3の:それはしかし、sqlite3のをインポートし、十分な真のようです。したがって、私はローカルsqliteを構築し、どうにかしてこれら2つのソフトウェアを相互作用させる必要があると仮定しました。

十分に適切です。

私は共有オブジェクトに合併をコンパイルすることができますが、混乱しているようです。 sqlite3.soを_sqlite3にリネームしてどこかに投げるべきですか?とにかく試してみましたが、エラーが発生しました: 動的モジュールがinit関数(init_sqlite3)を定義していません

この時点で私はちょっと立ち往生しています。私はビルドやコンパイルにあまり慣れていません - 私はsudo apt-get/sudo yumが私を怠け者にしたことを認めますが、何らかの理由で現時点ではオプションではありません。

ヘルプありがとうございました!

+0

Pythonを設定する前に、「sudo apt-get install libsqlite3-dev」を実行するか、配布用の同様のパッケージをインストールしましたか?オプションの依存関係を自動的に検出するはずです。 –

+0

@Niklas、彼はこのシステムでsudoの権利を持っていないようです。 –

+0

@Rob:ああ、私は何かが見つからないことを知っていました.. –

答えて

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! 
+0

本当にそれは私が探していた解決です。 – nimdil

+1

pythonのコピー全体を再構築するのではなく、_sqlite3 libを置き換える方法はありますか?私はちょうど "sqliteの私のコピーをいくつかのリビジョンをアップグレードする"ケースを持っている... –

+0

私はsqliteヘッダのパスとPythonビルディングのライブラリファイルを指定する必要があると思うが、デフォルトのパス設定に存在していました。 http://stackoverflow.com/questions/26261080/compile-python-3-4-with-sqlite3 – hylepo

関連する問題