web-dev-qa-db-fra.com

Déploiement d'application: Django n'est pas installé sur le serveur - AttributeError: l'objet 'module' n'a pas d'attribut 'lru_cache'

J'essaie de déployer une application Django et, pour une raison quelconque, cette erreur persiste. Il me semble que Django n’est pas installé, mais il génère également des erreurs lors de l’installation. Merci pour l'aide sur ceci. Je déploie sur Amazon EC2


(venv) ubuntu @ ip ----: ~/quotes $ pip install Django 
 Collection de Django 
 Utilisation de Django-2.0.tar.gz en cache 
 Terminer la sortie à partir de la commande python setup .py Egg_info: 
 Traceback (l'appel le plus récent en dernier): 
 Fichier "", ligne 1, dans 
 Fichier "/ tmp/pip-build-ceP6se/Django/setup. py ", ligne 32, dans 
 version = __import __ ('Django'). get_version () 
 Fichier" Django/__ init__.py ", ligne 1, dans 
 de Django. utils.version import get_version 
 Fichier "Django/utils/version.py", ligne 61, dans 
 @ functools.lru_cache () 
 AttributeError: l'objet 'module' n'a pas d'attribut 'lru_cache' 
 
 ----------------------------------------- --- 
 La commande "python setup.py Egg_info" a échoué avec le code d'erreur 1 dans/tmp/pip-build-ceP6se/Django /
6
Joe Reinsel

Django a cessé de prendre en charge la version 2 de Python. Vous pouvez néanmoins essayer d'installer la version 1.11 en utilisant le code ci-dessous.

pip install Django==1.11
8
prakash sabarish

Selon les notes de publication de Django 2.0, la série Django 1.11.x est la dernière à prendre en charge Python 2.7 ( Vérifiez-la ici )

Vous pouvez donc choisir d'utiliser une version plus ancienne de Django puis l'installer avec cette commande:

pip install 'Django<2'

mais si vous avez décidé de construire votre projet en utilisant Django> = 2.0, vous devez créer un environnement virtuel avec Python version 3.4 ou supérieure de cette façon:

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

il devrait produire quelque chose comme ceci:

Python 3.X.Y

Vous pouvez maintenant installer la dernière version de Django sans erreur:

pip install Django

Bonne chance,

1
Mahyar Damavand