App Deployment: Django not installing on server- AttributeError: 'module' object has no attribute 'lru_cache'

App Deployment: Django not installing on server- AttributeError: 'module' object has no attribute 'lru_cache'

我正在尝试部署 Django 应用程序,但出于某种原因,我不断收到此错误。在我看来,Django 没有安装,但安装时也会出错。感谢您对此的帮助。我正在 Amazon EC2

上部署
(venv) ubuntu@ip----:~/quotes$ pip install Django
收集 Django
  使用缓存的 Django-2。0.tar.gz
    命令 python setup.py egg_info 的完整输出:
    追溯(最近一次通话):
      文件“”,第 1 行,位于
      文件“/tmp/pip-build-ceP6se/Django/setup.py”,第 32 行,位于
        版本 = __import__('django').get_version()
      文件 "django/__init__.py",第 1 行,位于
        从 django.utils.version 导入 get_version
      文件 "django/utils/version.py",第 61 行,位于
        @functools.lru_cache()
    AttributeError: 'module' 对象没有属性 'lru_cache'

    --------------------------------------
命令 "python setup.py egg_info" 在 /tmp/pip-build-ceP6se/Django/
中失败,错误代码为 1

Django 已停止支持 Python 2 版本,您仍然可以尝试使用以下代码安装 1.11 版本。

pip install Django==1.11

根据django 2.0 release notes,Django 1.11.x系列是最后一个支持Python 2.7 (Check it here)

因此您可以选择使用旧版本的 Django,然后使用此命令安装它:

pip install 'Django<2'

但是如果您决定使用 Django>=2.0 构建您的项目,那么您应该使用 python 3.4 或更高版本创建一个虚拟环境:

sudo apt-get update
sudo apt-get install python3 python3-pip
sudo -H pip3 install virtualenv
mkdir ~/myproject
cd ~/myproject
virtualenv -p `which python3` myprojectenv
source ~/myproject/myprojectenv/bin/activate
python -V

它应该输出如下内容:

Python 3.X.Y

现在您可以安装最新版本的 Django 而不会出现任何错误:

pip install Django

祝你好运,