web-dev-qa-db-fra.com

ImportError: Aucun module nommé Django.core.management lors de l'utilisation de manage.py

J'essaie d'exécuter python manage.py runserver sur une application Django que j'ai et j'obtiens cette erreur:

Traceback (most recent call last):
File "manage.py", line 8, in <module>
 from Django.core.management import execute_from_command_line
ImportError: No module named Django.core.management

Voici la sortie de pip freeze | grep -i Django pour montrer que Django est effectivement installé:

Django==1.6.5
Django-cached-authentication-middleware==0.2.0
Django-cors-headers==1.1.0
Django-htmlmin==0.7.0
Django-static-precompiler==0.9
djangorestframework==2.3.14

En outre, essayer d'exécuter /usr/local/bin/python2.7 manage.py runserver génère la même erreur.

24
Zach

Pour résoudre mon problème, j'ai utilisé la ligne suivante dans mon fichier .z:

export PYTHONPATH=/usr/local/lib/python2.7/site-packages

J'essayais d'importer Django et il n'a pas pu être trouvé, et le problème ci-dessus a résolu le problème.

10
Zach

Problèmes possibles pouvant causer votre problème:

  1. PYTHONPATH n'est pas bien configuré. Pour le configurer, vous devriez faire:

    export PYTHONPATH=/usr/local/lib/python2.7/site-packages
    
  2. Vous avez oublié la ligne #!/usr/bin/env python au début de manage.py

  3. Si vous travaillez sur virtualenv, vous avez oublié d'activer env virtuel pour exécuter les commandes manage.py (vous avez peut-être installé Django sur votre système mais pas sur votre virtualenv)

    source path/to/your/virtualenv/bin/activate
    

    ou

    workon env_name
    
  4. Vous avez Python 2.7 et Python 3.4 jouer avec le paquet

  5. Vous utilisez un très vieux Python 2.4 et vous devriez dire au système d’utiliser votre Python 2.7 avec:

    alias python=python2.7
    

Parfois, la réinstallation/mise à niveau de Django corrige certains de ces problèmes. 

Vous voudrez peut-être exécuter

python -c "import Django; print(Django.get_version())"

pour vérifier si Django est installé sur votre PC ou votre virtualenv si vous en utilisez un

Vous pouvez trouver d'autres solutions dans d'autres questions similaires:

24
AlvaroAV

J'ai résolu cette même erreur en exécutant la commande ci-dessous:

python3.4 manage.py runserver

Et la commande ci-dessus a été exécutée avec succès pour moi. Donc, ce que vous pouvez essayer, c’est que si vous utilisez Python 2.7, remplacez simplement 3.4 par 2.7. J'espère que cela t'aides.

3
zenwraight

Si vous utilisez virtualenv et exécutez manage.py runserver dans le système Windows, cmd utilisera le python du système, et non le python de virtualenv. Parce que si vous installez python dans le système, cmd utilisera automatiquement python celle installée dans le système, pas le python dans virtualenv. Donc, si vous utilisez virtualenv dans Windows. tu as besoin de courir

>python .\manage.py runserver
2
Ming

Je suis tombé sur le même problème en effectuant toute la configuration et en exécutant Django avec Python3, mais en lançant la commande suivante:

$ python manage.py migrate

résolu le problème en utilisant une version cohérente de Python:

$ python3 manage.py migrate
Operations to perform:
  Apply all migrations: sessions, auth, admin, contenttypes
Running migrations:
  Rendering model states... DONE
  Applying contenttypes.0001_initial... OK
  Applying auth.0001_initial... OK
  Applying admin.0001_initial... OK
  Applying admin.0002_logentry_remove_auto_add... OK
  Applying contenttypes.0002_remove_content_type_name... OK
  Applying auth.0002_alter_permission_name_max_length... OK
  Applying auth.0003_alter_user_email_max_length... OK
  Applying auth.0004_alter_user_username_opts... OK
  Applying auth.0005_alter_user_last_login_null... OK
  Applying auth.0006_require_contenttypes_0002... OK
  Applying auth.0007_alter_validators_add_error_messages... OK
  Applying sessions.0001_initial... OK

Les autres commandes que j'ai exécutées auparavant sont:

python3 -m pip install Django
django-admin startproject learning_site
python3 manage.py  runserver 0.0.0.0:8000
2
Mona Jalal

Le problème direct est que le paquet Django est manquant. Pour moi, alors que j'exécutais Django dans virtualenv, ce problème se produit lorsque je renomme mon répertoire de travail.

Réinstaller le fichier env a fonctionné pour moi.

1
SolessChong

Cette erreur est due à l'environnement de l'utilisateur. En effet, je viens d'ajouter le chemin bin de l'environnement virtuel à PATH et le problème a été résolu.

PATH=/bin/of_virtualenvironment/:$PATH
1
JeanDez

dans le répertoire où se trouve votre fichier Django, vérifiez la première ligne de Django-admin.py:

#!/usr/bin/env python

Si vous utilisez python 3+, python ici peut désigner python2 ici. Vérifiez donc avec quel python vous installez Django.

ls -l $(which -a python3)

Si vous avez python3 installé et non lié en tant que python, modifiez la première ligne Shebang en 

#!/usr/bin/env python3
0
Izana

Correction du même problème dans mon projet en utilisant seulement;

pip install -r requirements.txt

Je n'avais rien à faire d'autre. Quand j'ai ran./manage.py runserver tout a fonctionné!

0
Kago

J'ai découvert que je pouvais importer le module Django à partir de l'interpréteur python, mais Django-admin.py ne pouvait pas l'importer lorsqu'il était exécuté à partir de la ligne de commande.

J'ai confirmé que j'utilisais l'interpréteur python dans mon environnement virtuel.

J'utilisais une version 64 bits de python. La désinstallation et l'installation de la version 32 bits, puis la recréation de mon fichier venv ont résolu ce problème.

0
noodles

Assurez-vous également que vous n'avez pas endommagé votre .bashrc avec aliases . Vous obtiendrez ce genre d'erreur si .bashrc contient quelque chose comme alias python="/usr/bin/python3".

0
prusya