2015-12-19 88 views
12

我想在启用virtualenv的Ubuntu Box(14.04 LTS)中安装django 1.9。但我得到了这个有线安装问题。Django 1.9安装SyntaxError:无效的语法

(venv)nix1947$ pip install django 
Downloading/unpacking django 
    Downloading Django-1.9-py2.py3-none-any.whl (6.6MB): 6.6MB downloaded 
Installing collected packages: django 
*** Error compiling '/home/nix1947/projects/newsportal/venv/build/django/django/conf/app_template/apps.py'... 
    File "/home/nix1947/projects/newsportal/venv/build/django/django/conf/app_template/apps.py", line 4 
    class {{ camel_case_app_name }}Config(AppConfig): 
     ^
SyntaxError: invalid syntax 

*** Error compiling '/home/nix1947/projects/newsportal/venv/build/django/django/conf/app_template/models.py'... 
    File "/home/nix1947/projects/newsportal/venv/build/django/django/conf/app_template/models.py", line 1 
    {{ unicode_literals }}from django.db import models 
          ^
SyntaxError: invalid syntax 

Successfully installed django 
Cleaning up... 

这是在Django源代码的问题?或者我错过了什么?

,我已经使用了Python是python3中的virtualenv这是由 virtualenv -p /usr/bin/python3 venv命令我使用的画中画版本启用是

pip 1.5.4 from /home/nix1947/projects/newsportal/venv/lib/python3.4/site-packages (python 3.4) 

和virtualenv中的版本是

(venv)nix1947$ virtualenv --version 
1.11.4 

什么是有问题的,有人可以指导我

回答

22

这是一个由setuptools(5.5.x)的过时版本引起的常见问题:

When installing Django 1.9+ with setuptools 5.5.x, you’ll see:

Compiling django/conf/app_template/apps.py ... File 
"django/conf/app_template/apps.py", line 4 
    class {{ camel_case_app_name }}Config(AppConfig): 
     ^SyntaxError: invalid syntax 

Compiling django/conf/app_template/models.py ... File 
"django/conf/app_template/models.py", line 1 
    {{ unicode_literals }}from django.db import models 
          ^SyntaxError: invalid syntax 

It’s safe to ignore these errors (Django will still install just fine), but you can avoid them by upgrading setuptools to a more recent version. If you’re using pip, you can upgrade pip using pip install -U pip which will also upgrade setuptools.

(Source: https://docs.djangoproject.com/en/1.9/releases/1.9/#syntaxerror-when-installing-django-setuptools-5-5-x)


的解决方案是升级PIP再次第一(也升级setuptools的),然后安装Django:

pip install -U pip 
pip install django 
+0

如果我需要创建另一个的virtualenv,我应该升级每个点子时间不是。所以它会更好如果我升级我的系统pip并在virtuale环境中安装django env – shining

+0

您可以这样做,或者只是忽略这些错误。 (如我提供的链接所述,可以忽略它们是安全的)。 – Leistungsabfall

+0

没问题,我应该忽略这个项目的错误,当我创建另一个venve时,我会考虑升级pip,但是我已经使用'sudo apt-get upgrade python-pip'将升级应用于系统pip我们希望这将解决所有venv的问题,所以我不需要为每个venv做'pip install -U pip' – shining