2009-09-26 65 views
1

我無法使用sqlite3(構建python包),原因是_sqlite3.so文件丟失。我發現人們遇到了同樣的問題,他們解決了這個問題here。爲了解決我的問題,我必須「安裝sqlite3並重新編譯Python」。我還發現問題可以通過「從源頭建立並將庫移動到/usr/lib/python2.5/lib-dynload/」來解決。如何讓Python看到sqlite?

正如我在這裏被告知的那樣,我必須從源代碼安裝sqlite並將新編譯的文件複製到我的Python目錄(關於「重新編譯Python」沒有提到)。那麼,我已經安裝了SQLite,現在我不得不復制一些東西到我的/lib-dynload/目錄。

我不確定我應該複製什麼。在我的/lib-dynload/目錄中,我只有.so文件。在我的sqlite-3.6.18我沒有任何*.so文件(這讓我很懷疑)。我有這個問題,因爲我沒有_sqlite3.so文件在/lib-dynload/。通過編譯sqlite我得到了一些新的文件(例如sqlite3.osqlite3.lo),但not _sqlite3.so

P.S.一些細節:
1.我使用Python 2.6.2(我在本地安裝)。
2.我沒有root權限。
3.我已經在機器上全局安裝了sqlite。
4.我剛在本地安裝了sqlite。
5.我的操作系統是CentOS版本5.3(最終版)。
6.當我在Python命令行中鍵入import sqlite3我得到:

Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "/home/loctopu/opt/lib/python2.6/sqlite3/__init__.py", line 24, in <module> 
    from dbapi2 import * 
    File "/home/loctopu/opt/lib/python2.6/sqlite3/dbapi2.py", line 27, in <module> 
    from _sqlite3 import * 
ImportError: No module named _sqlite3 
+1

當你沒有的Python的「作」,你應該已經看過輸出點在哪裏需要它談論了sqlite,並更正了它所報告的任何錯誤。 –

回答

0

我沒有確切的答案,但這裏一些提示

  • 若要從源蟒蛇,你不」 t需要成爲根,你總是可以安裝在/home/USERNAME/usr,例如當你做配置時,像./configure --prefix=/home/USERNAME/usr

  • 安裝sqlite二進制文件並不意味着它包含的python擴展名(in取而代之,sqlite的dev的文件,當您編譯蟒蛇)

  • sqlite3的正確進口使用率import sqlite3