尝试安装Django时出现语法错误

时间:2012-08-06 03:58:14

标签: python django installation

我是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失败,错误代码为1 / build / Django 存储完整的登录/root/.pip/pip.log

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

非常感谢任何帮助,提前谢谢!

2 个答案:

答案 0 :(得分:8)

等等,你在使用Python 2.4 ?! Django 1.4 dropped support for 2.4。您必须升级Python才能使其工作。如果您正在升级,也可以使用最新的Python 2版本(2.7)。

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

答案 1 :(得分:3)

让我猜〜

也许错误不是关于你的Django或python的版本。

如果你有正确的版本。这仍然会发生。

问题可能是由你的mod_wsgi造成的。

运行这个:

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

如果退还这个 'libpython2.4.so.1.0 =&gt; /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)

您需要使用param重新编译mod_wsgi.so '--with-蟒=的/ usr / local / bin中/ python2.7'