2015-12-19 114 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