我正在尝试在启用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
问题是什么,有人可以指导我吗
答案 0 :(得分:22)
这是一个由过时版本的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。
解决方法是首先升级pip (这也会升级setuptools),然后再次安装django:
pip install -U pip
pip install django