2009-04-21 58 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