2009-04-21 86 views
5

我正在運行一個運行未知版本的CentOS的共享主機上使用Django。我的主要問題是試圖與數據庫接口。服務器安裝了MySQL,但不是MySQL-python。我最初以爲建議運行「yum install MySQL-python」,但顯然CentOS默認存儲庫中的MySQL-python版本是1.2.1,而Django需要1.2.1p2。CentOS上的Django

這個要求首先從Django 0.96開始。在release notes中,爲了與舊版本的MySQL-python兼容,添加了一個名爲mysql_old的不贊成使用的接口。去年7月,這個棄用的界面毫不客氣地dropped。此更改的announcement並不表示除了舊版本以外的其他原因。

是否有可能在Django 1.1中重新生成這個舊接口?從那以後,數據庫接口是否有任何更改?強迫Django跳過版本檢查並使用1.2.1會有什麼危險?是否有可能在另一臺機器上編譯更高版本並將這些文件複製到主機上?爲了做到這一點,我需要知道什麼?

我也研究過SQLite,但是CentOS附帶了Python 2.4.3,因此需要pysqlite2擴展,這在存儲庫中不存在(afaict)。

一切都可以通過從源代碼安裝來解決,但這相當混亂,我說服公司這樣做的機會要比讓他們從存儲庫安裝東西的可能性小得多。我意識到,看起來我應該只是得到一個不同的主持人,但你必須相信我,我有我的理由來嘗試做這項工作。

注意:我沒有任何使用CentOS或yum的經驗,所以我對他們所說的一切都是明智的猜測。請讓我知道,如果我只需要指定一些設置或更改存儲庫以獲取這些軟件包的更新版本。謝謝。

+0

我沒有運行yum恐怕權限,我不不知道是否安裝了gcc。你知道在另一臺機器上編譯MySQL-python並將其複製到主機上Python的sys.path中的某個位置嗎? – 2009-04-21 23:13:26

+0

如果你有足夠的權限來運行yum,你應該可以通過下載它並使用'python setup.py install'(如果需要配置mysql庫的位置)來編譯任何你喜歡的任意mysql-python版本。如果未安裝gcc,請使用yum進行安裝。如果安裝了python(etc)的錯誤版本,請根據需要使用yum或gcc替換整個堆棧:嘗試'cat/etc/issue'來找出您擁有的CentOS版本。 – 2009-04-21 23:16:27

+0

嘗試輸入gcc以查看它是否已安裝 – 2009-04-21 23:17:16

回答

0

如果您無法從centos回購站獲取最新軟件包,您實際上可以手動安裝mysql-python適配器而無需編譯任何內容。只需下載mysql-python tarball(從sourceforge網站)。在tar文件夾中有各種設置腳本,自述文件等。您可以運行ez_setup文件,安裝文件,或者將MySQLdb目錄複製到pythonpath中的某處。我認爲在centos上,/usr/lib/python2.4/site-packages/的作品。

祝你好運!

0

您可以安裝CentOS'包python-setuptools,然後在它使用easy-install您可以安裝最新版本的mysql-python這樣

easy_install mysql-python