Python 2.6.2 をインストールしました。ルート権限がないため、「ローカルで」実行しました。このバージョンの Python では、「sqlite3」というモジュールを使用したいと考えていました (以前のバージョンでは「pysqlite」と呼ばれていました)。理論的には、問題なくこのモジュールを使用できなければなりませんでした。このモジュールは、検討中のバージョンの Python にデフォルトで含まれているはずだからです。ただし、いくつか問題があります。入力すると:
from sqlite3 import *
私は得る:
Traceback (most recent call last):
File "", line 1, in File "/home/verrtex/opt/lib/python2.6/sqlite3/init.py", line 24, in
from dbapi2 import *
File "/home/verrtex/opt/lib/python2.6/sqlite3/dbapi2.py", line 27, in
from _sqlite3 import *
ImportError: No module named _sqlite3
既に説明したように、この問題の考えられる理由は、モジュールが _sqlite3 をインポートしようとして失敗したため、_sqlite3.so が見つからないことです。この説明は、「/home/verrtex/opt/lib/python2.6/lib-dynload」ディレクトリに _sqlite3.so ファイルがないという事実によって裏付けられています。したがって、これは私が解決しなければならない問題です (このファイルをこのディレクトリに移動する必要があります)。
この問題を解決するには、「sqlite3 をインストールして Python を再コンパイルする」必要があることがわかりました。また、「ソースからビルドし、ライブラリを /usr/lib/python2.5/lib-dynload/ に移動する」ことで問題が解決できることもわかりました。
ただし、正確に何をすべきかは明確ではありません。「sqlite3」という python モジュールをインストールする必要がありますか、それとも sqlite-database をインストールする必要がありますか? ところで、管理者によって sqlite-database がグローバルにインストールされています。それを使用できますか、それとも独自のデータベースをインストールする必要がありますか? ちなみにroot権限はありません。問題になる可能性はありますか?または、Python モジュールをインストールする必要がありますか? この場合、ルート権限がないことは問題ですか?
また、SQLite ダウンロード ページからソース ファイルを取得し、アーカイブを抽出し、展開されたディレクトリに移動して実行するように指示されました。
./configure
make
make install
次に、新しくコンパイルしたファイルを Python ディレクトリにコピーする必要があります。新しくコンパイルされたすべてのファイルをコピーする必要がありますか? そして、正確にどのディレクトリにコピーする必要がありますか(私のPythonディレクトリにはいくつかのサブディレクトリがあります)?
私はこの問題に苦労しているので、助けていただければ幸いです。
PS 私の OS は CentOS リリース 5.3 (Final) です。