我已經安裝了Python 2.6.2 ..我做了「本地」,因爲我沒有root權限。有了這個版本的Python,我想使用名爲「sqlite3」的模塊(它在早期版本中被稱爲「pysqlite」)。從理論上講,我必須能夠毫無問題地使用這個模塊,因爲它應該被默認包含在所考慮的Python版本中。但是,我有一些麻煩。當我鍵入:如何獲取_sqlite3.so文件?
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模塊?在這種情況下,缺少root權限是一個問題嗎?
我也被告知,從SQLite的下載頁面需要的源文件,解壓壓縮文件,移動到擴展目錄,然後執行:
./configure
make
make install
然後我不得不重新編譯後的文件複製到我的Python目錄。我應該複製所有新編譯的文件嗎?我應該複製到哪個目錄(我的Python目錄有一些子目錄)?
非常感謝任何幫助,因爲我與這個問題疊加在一起。
P.S.我的操作系統是CentOS版本5.3(最終版)。
你是如何安裝Python的?因爲sqlite3應該在那裏 – Mark 2009-09-26 11:25:05
我按照sledge建議的方式安裝Python: http://stackoverflow.com/questions/1455642/how-to-build-sqlite-for-python-2-4 – Verrtex 2009-09-26 13:02:27
我有sqlite3.py但我沒有_sqlite3.so。有關更多詳細信息,請參閱Alex Martelli在這裏的答案: http://stackoverflow.com/questions/1478479/why-my-python-does-not-see-pysqlite – Verrtex 2009-09-26 13:05:10