2012-04-04 91 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