2

我是 Python 的新手,一直在尝试在我的服务器上安装 Django 框架。对于这个问题,我似乎无法在网上任何地方找到答案,甚至找不到正确方向的提示。

我在 LiquidWeb 上有一个 VPS,我正在尝试在该服务器上安装。我一直在关注 Django 安装指南:https ://docs.djangoproject.com/en/1.4/topics/install/#installing-official-release

我正在尝试安装稳定版本,而不是开发版本,并尝试手动安装和通过 PIP 安装 - 两者都给我同样的错误,如下所列:

root@host [/]# sudo pip install Django

下载/解压 Django

下载 Django-1.4.1.tar.gz (7.7Mb):下载了 7.7Mb

为包 Django 运行 setup.py egg_info

Traceback (most recent call last):

  File "<string>", line 14, in ?

  File "/build/Django/setup.py", line 69, in ?

    version = __import__('django').get_version()

  File "django/__init__.py", line 15

    parts = 2 if version[2] == 0 else 3

               ^
SyntaxError: invalid syntax

命令 python setup.py egg_info 在 /build/Django 中失败,错误代码 1 在 /root/.pip/pip.log 中存储完整日志

我正在使用 Python 2.4.3 并尝试安装 Django 1.4.1。

任何帮助将不胜感激,在此先感谢!

4

2 回答 2

8

等等,你使用的是 Python 2.4?!Django 1.4 放弃了对 2.4 的支持。你必须升级 Python 才能让它工作。如果要升级,不妨使用最新的 Python 2 版本 (2.7)。

错误的确切原因是安装脚本使用了三元条件运算符(true_expr if cond else false_expr),我认为它是在 Python 2.5 中引入的。虽然您可以通过编辑脚本来解决它,但类似的事情可能会遍布 Django 代码库,因此您必须向后移植整个框架。

于 2012-08-06T04:03:30.637 回答
3

让我猜猜~

也许错误与您的 Django 或 python 版本无关。

如果你得到了正确的版本。这仍然会发生。

该问题可能是由您的 mod_wsgi 引起的。

运行这个:

ldd /usr/lib/httpd/modules/mod_wsgi.so

如果返回此 'libpython2.4.so.1.0 => /usr/lib/libpython2.4.so.1.0 (0x00b32000)'

linux-gate.so.1 =>  (0x00da0000)
        libpython2.4.so.1.0 => /usr/lib/libpython2.4.so.1.0 (0x00b32000)
        libpthread.so.0 => /lib/libpthread.so.0 (0x00d7b000)
        libdl.so.2 => /lib/libdl.so.2 (0x007cf000)
        libutil.so.1 => /lib/libutil.so.1 (0x00f6f000)
        libm.so.6 => /lib/libm.so.6 (0x0086e000)
        libc.so.6 => /lib/libc.so.6 (0x00150000)
        /lib/ld-linux.so.2 (0x00133000)

您需要使用参数“--with-python=/usr/local/bin/python2.7”重新编译您的 mod_wsgi.so

于 2013-10-16T08:55:44.577 回答