我正在尝试在启用virtualenv的Ubuntu Box(14.04 LTS)中安装django 1.9.但我遇到了这个有线安装问题.
(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是virtualenv中的python3,它是由virtualenv -p /usr/bin/python3 venv
命令启用的
,我正在使用的pip版本是
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
有什么问题,有人可以指导我
这是由过时版本的setuptools(5.5.x)引起的常见问题:
使用setuptools 5.5.x安装Django 1.9+时,您会看到:
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忽略这些错误是安全的(Django仍会安装得很好),但你可以通过将setuptools升级到更新的版本来避免它们.如果你正在使用pip,你可以使用pip install -U pip升级pip,这也将升级setuptools.
(来源: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