(myenv) wanjila@wanjila:~/Desktop/Python-Area/projects/Djangular$ pip freeze
djangorestframework==3.7.3
pkg-resources==0.0.0
(myenv) wanjila@wanjila:~/Desktop/Python-Area/projects/Djangular$ pip install django
Collecting django
Using cached Django-2.0.tar.gz
Complete output from command python setup.py egg_info:
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/tmp/pip-build-qAnv7G/django/setup.py", line 32, in <module>
version = __import__('django').get_version()
File "django/__init__.py", line 1, in <module>
from django.utils.version import get_version
File "django/utils/version.py", line 61, in <module>
@functools.lru_cache()
AttributeError: 'module' object has no attribute 'lru_cache'
------------------------------------
每当我尝试在我的virtualenv内部安装django时,我都会收到错误。我该如何解决这个问题。
答案 0 :(得分:11)
作为wim答案的替代方案,如果由于某种原因无法升级Python版本,可以安装仍然与Python 2.7兼容的Django 1.11:
pip install 'django<2.0'
答案 1 :(得分:3)
确保virtualenv中的Python版本是Python 3.4+。
Django 2.0仅支持Python 3.4+,而functools.lru_cache
仅适用于3.2 +。
检查当前virtualenv中的Python版本:
python --version
使用python 3创建一个新的virtualenv:
python3 -m venv venv --prompt=myenv
答案 2 :(得分:0)
此错误是由于错误选择pip和python版本。您可以通过在〜/ .bash_profile
中添加以下行来解决它 alias python='python3'
alias pip='pip3.6'
之后关闭终端并运行以下命令安装Django
pip install Django==2.0
答案 3 :(得分:0)
对于最新版本的Django,需要python 3,因此请尝试安装
pip install django==1.11