2009-09-21 29 views
0

我想在Python和sdlite數據庫之間使用pysqlite接口。我的電腦上已經有Python和SQLite了。但是我安裝pysqlite時遇到麻煩。在安裝過程中,我得到了以下錯誤消息:如何爲Python 2.4構建sqlite?

error: command 'gcc' failed with exit status 1

據我瞭解的問題出現,因爲我的Python的版本是2.4.3和2.5以來SQLite是集成在Python。但是,我也發現可以爲Python 2.4構建sqlite(可能使用一些技巧)。

有人知道如何爲Python 2.4構建sqlite嗎?

作爲另一種選擇,我可以嘗試安裝更高版本的Python。但是我沒有root權限。有沒有人知道什麼是解決這個問題的最簡單的方法(構建Python 2.4的SQLite,還是安裝更新版本的Python)?我不得不提到我不想覆蓋舊版本的Python。

預先感謝您。

+1

pysqlite在2.4下正常工作。粘貼錯誤消息,而不是指示有錯誤的消息。 –

回答

1

您可以下載並安裝Python到您的主目錄。

$ cd 
$ mkdir opt 
$ mkdir downloads 
$ cd downloads 
$ wget http://www.python.org/ftp/python/2.6.2/Python-2.6.2.tgz 
$ tar xvzf Python-2.6.2.tgz 
$ cd Python-2.6.2 
$ ./configure --prefix=$HOME/opt/ --enable-unicode=ucs4 
$ make 
$ make install 

然後,在你的.bash_profile(如果你使用bash)做

export PATH=$HOME/opt/bin/:$PATH 
export PYTHONPATH=$HOME/opt/lib:$HOME/opt/lib/site-packages:$PYTHONPATH 

然後,源文件,以使其可

$ cd 
$ source .bash_profile 
$ python -V 

其中蟒蛇-V將返回python版本。如果出現正確的版本,則使用Python的setup.py util運行的任何軟件包(假定開發人員遵循正確的約定)將安裝到〜/ opt/lib/python2.x/site-packages目錄中。

0

如果您沒有root權限,我會建議您在主目錄中安裝更新版本的Python,然後將您的本地版本添加到您的PATH。朝着這個方向走,似乎比試圖讓老版本的Python能夠運行sqlite更容易。

您還將使用最新版本的Python來幫助自己,因爲您可以訪問該語言中的許多最新改進。

1

下載pysqlite here,cd到你下載到的目錄,解壓壓縮包:

$ tar xzf pysqlite-2.5.5.tar.gz 

然後就去做(如果你的權限適合這個設置,可能需要sudo否則):

$ cd pysqlite-2.5.5 
$ python2.4 setup.py install 

一個錯誤會出現在輸出豐富:

File "/Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/pysqlite2/test/py25tests.py", line 48 
    with self.con: 
      ^
SyntaxError: invalid syntax 

因爲清楚地顯示該文件僅用於py 2.5測試(with語句不存在於2.4! - )。儘管如此,安裝成功:

$ python2.4 -c'import pysqlite2' 
$ 

這一切是在Mac OS X 10.5,但使用的python2.4分別從系統提供的Python 2.5的安裝。

你報告的錯誤沒有告訴我們太多 - 也許你錯過了sqlite本身的頭文件或庫?你可以向我們展示圍繞單一錯誤消息的其他輸出行...?

0

我在gcc與Ubuntu Karmic失敗時遇到同樣的問題。我通過安裝python-dev軟件包解決了這個問題。就我而言,我正在使用python2.4,所以我安裝了python2.4-dev軟件包。 python-dev包應該適用於python2.6。