PIP无法在VIrtualenv

时间:2017-12-04 17:30:57

标签: python django pip virtualenv

(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时,我都会收到错误。我该如何解决这个问题。

4 个答案:

答案 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