2012-04-04 86 views
2

我試圖在我的共享主機環境中安裝django,它具有SSH訪問權限。Django-admin.py在我的共享主機環境中產生錯誤

我下載使用

svn export http://code.djangoproject.com/svn/django/trunk/django django 

我可以在Python Shell導入Django的沒有任何錯誤引發的Django的最新版本。

但後來我試着用django-admin.py開始一個新項目,它開始拋出一堆錯誤,我試圖在過去的幾個小時裏谷歌。我仍然無法找到它

下面是實際的錯誤:

[email protected]:~$ django-admin.py startproject klikevent 
/u/k4660061/home/local/lib/python/site-packages/django/core/management/templates.py:155: Warning: 'with' will become a reserved keyword in Python 2.6 
Traceback (most recent call last): 
    File "/u/k4660061/home/local/lib/python/site-packages/django/bin/django-admin.py", line 5, in <module> 
    management.execute_from_command_line() 
    File "/u/k4660061/home/local/lib/python/site-packages/django/core/management/__init__.py", line 442, in execute_from_command_line 
    utility.execute() 
    File "/u/k4660061/home/local/lib/python/site-packages/django/core/management/__init__.py", line 381, in execute 
    self.fetch_command(subcommand).run_from_argv(self.argv) 
    File "/u/k4660061/home/local/lib/python/site-packages/django/core/management/__init__.py", line 261, in fetch_command 
    klass = load_command_class(app_name, subcommand) 
    File "/u/k4660061/home/local/lib/python/site-packages/django/core/management/__init__.py", line 69, in load_command_class 
    module = import_module('%s.management.commands.%s' % (app_name, name)) 
    File "/u/k4660061/home/local/lib/python/site-packages/django/utils/importlib.py", line 35, in import_module 
    __import__(name) 
    File "/u/k4660061/home/local/lib/python/site-packages/django/core/management/commands/startproject.py", line 2, in <module> 
    from django.core.management.templates import TemplateCommand 
    File "/u/k4660061/home/local/lib/python/site-packages/django/core/management/templates.py", line 155 
    with open(old_path, 'r') as template_file: 
      ^
SyntaxError: invalid syntax 
[email protected]:~$ 

感謝


UPDATE

一個良好的睡眠後,我得到了它的工作!看到伯尼的回答。我不得不一遍又一遍地看堆棧跟蹤,但我只需要import語句添加到多個文件

文件是

的Django/utils的/ archive.py Django的/核心/管理/ templates.py

,並拋出警告with_statement任何文件

感謝@Bernie

+0

+1給你自己解決問題。 – bernie 2012-04-05 03:26:10

回答

1

如果語法錯誤是關係到with說法,這可能是因爲您的督促服務器有一個比你的開發服務器更老的Python版本。

如果您督促服務器運行的是版本2.5或更高版本,你可以這樣做:

from __future__ import with_statement 

請注意:任何from __future__進口必須第一個進口。
參考:http://docs.python.org/reference/simple_stmts.html#future

+0

所以我只是將該導入行添加到django-admin.py? – 2012-04-04 17:06:22

+0

取決於服務器正在運行的Python版本...看看這個SO問題的一些想法如何確定:http://stackoverflow.com/questions/1093322/how-do-i-check- what-version-of-python-is-running-my-script – bernie 2012-04-04 17:08:09

+0

我試圖將該導入行添加到django-admin.py的第一行。仍然拋出相同的錯誤 如果我嘗試使用python來調用shell。它說python 2.5.2 >>> import sys >>> print sys.version 2.5.2(r252:60911,Jan 24 2010,14:53:14) [GCC 4.3.2] >> > sys.version_info (2,5,2,'final',0) – 2012-04-04 17:11:00