蟒蛇

2010-01-18 306 views
1

的本地安裝我想安裝Python我的本地direcotory:當我導入sqlite3的我得到以下蟒蛇

./configure --prefix=/home/alex/local-install && make && make install 

ImportError: No module named _sqlite3 

的原因:沒有在任何_sqlite3.so /home/alex/local-install/lib/python2.6/lib-dynload。

我如何強制python建立綁定爲sqlite和其他庫(例如zlib)?

P.S.順便說一句:如果我安裝sqlite3到我的本地目錄/ home/alex/local-install安裝python之前 - 導入sqlite3工作正常。這可能是一個解決方案:但在這種情況下,我必須手動安裝很多我想用python綁定的庫。 Brrrrr: - [

回答

3

您需要爲python構建可以找到它們的地方安裝sqlite的開發頭文件和庫。你沒有說你有什麼操作系統。在Linux上,您通常必須安裝額外的-dev [el]軟件包才能針對庫進行構建。

+0

非常感謝!我已經安裝了sqlite3-dev並解決了這個問題。一般來說,我想在我的kubuntu機器上編譯python,然後將二進制文件移動到虛擬共享主機。會不會出現圖書館版本不匹配的問題? – alexdup 2010-01-18 21:10:40

+0

這取決於該項目,但通常會發生小版本更改,以保留ABI和主版本號更新以需要重新編譯。如果通過「虛擬共享主機」,您的意思是一個虛擬根服務器,您可以在其中自行安裝開發包,那麼我肯定會在該機器上重新編譯以避免出現此類問題。 – bobince 2010-01-18 21:37:18

+0

@alexdup通常,您可能希望在chroot或類似環境中構建二進制文件,以便與您部署的環境相匹配。通常很容易設置並且完全值得避免的麻煩。 – 2010-01-18 21:37:49