Partage
  • Partager sur Facebook
  • Partager sur Twitter

Django error manage.py runserver

25 septembre 2021 à 11:47:57

Bonjour à toutes et à tous,

Je suis le cours Django, mais j'ai un problème lorsque je lance la commande "(.venv) yaruco@yaruco-ThinkPad-X240:~/Bureau/informatique/code/python/django-openclassroom/projet1/disquaire_project$ ./manage.py runserver" ou "(.venv) yaruco@yaruco-ThinkPad-X240:~/Bureau/informatique/code/python/django-openclassroom/projet1/disquaire_project$ python3 ./manage.py runserver"

Je suis sous Ubuntu 20.04.3 LTS, j'ai installé il me semble tous les prérequis, tels que pip3 install virtualenv etc....

mon message d'erreur :

(.venv) yaruco@yaruco-ThinkPad-X240:~/Bureau/informatique/code/python/django-openclassroom/projet1/disquaire_project$ ./manage.py runserver
Traceback (most recent call last):
  File "./manage.py", line 11, in main
    from django.core.management import execute_from_command_line
ModuleNotFoundError: No module named 'django'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "./manage.py", line 22, in <module>
    main()
  File "./manage.py", line 13, in main
    raise ImportError(
ImportError: Couldn't import Django. Are you sure it's installed and available on your PYTHONPATH environment variable? Did you forget to activate a virtual environment?

J'ai cherché sur divers forums et sites, la réponses, j'ai trouvé des gens ayant le même problème, pourtant en modifiant deux trois trucs, ça fonctionnait pour eux, alors que moi cela ne fonctionnait toujours pas, merci à tous ceux qui daigneront m'aider.

Merci beaucoup de votre aide !

  • Partager sur Facebook
  • Partager sur Twitter
25 septembre 2021 à 13:24:43

Bizarre cette histoire,

  • Active ton environnement virtuel
  • tape la commande pip list
  • vérifier que tu as bien Django dans la liste des modules installés sur l'environnement
  • si django n'est pas installé, taper la commande pip install django
  • taper la commande ./manage runserver
  • Partager sur Facebook
  • Partager sur Twitter

Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

25 septembre 2021 à 14:01:41

Merci beaucoup de ta réponse ;) alors oui mon environnement virtuel est activé,je l'ai activé avec cette commande "yaruco@yaruco-ThinkPad-X240:~$ source .venv/bin/activate" le résultat "(.venv) yaruco@yaruco-ThinkPad-X240:~$ "

j'ai tapé la commande pip list, et j'ai bien vu Django et virtualenv dedans, et j'ai relancer la commande ./manage.py runserver mais cela ne fonctionne toujours pas

  • Partager sur Facebook
  • Partager sur Twitter
25 septembre 2021 à 14:21:12

Je pense que c'est un problème lié à la variable d'environnement PYTHONPATH.

Pour vérifier, fait ceci

  • active l'environnement virtuel
  • entre dans ton interpréteur - commande python
  • tapes les commande import sys; sys.path
  • donne le résultat

-
Edité par fred1599 25 septembre 2021 à 14:21:30

  • Partager sur Facebook
  • Partager sur Twitter

Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

25 septembre 2021 à 14:24:49

Merciii

le résultat : >>> import sys; sys.path
['', '/usr/lib/python38.zip', '/usr/lib/python3.8', '/usr/lib/python3.8/lib-dynload', '/home/yaruco/.venv/lib/python3.8/site-packages']

  • Partager sur Facebook
  • Partager sur Twitter
25 septembre 2021 à 14:30:31

Pas de problème de PYTHONPATH apparemment, ton dossier d'environnement virtuel est bien présent.

On est bien d'accord que tu as créé ton projet avec la commande django-admin, on sait jamais à tout hasard ?

Si oui, alors on va tenter une nouvelle installation de Django,

  • active l'environnement virtuel
  • pip install django

va dans ton dossier du projet créé,

  • tapes la commande python manage.py runserver
  • Partager sur Facebook
  • Partager sur Twitter

Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

25 septembre 2021 à 14:38:45

D'accord, oui j'ai bien utilisé la commande django-admin.

Pour tenter une nouvelle installation de Django, il faut seulement activer l'environnement virtuel, et taper pip install django ? Il ne faut pas supprimer d'abord django pour le réinstaller ?

Merci infiniment de ton aide !

-
Edité par yaruco 25 septembre 2021 à 14:47:59

  • Partager sur Facebook
  • Partager sur Twitter
25 septembre 2021 à 14:42:25

non pas besoin de supprimer, ça réinstalle à la dernière version connue et compatible avec d'autres modules de ton environnement virtuel.

Je pense que la simple erreur ici, c'est de s'assurer que tu donnes les droits à manage.py d'être exécuté

Avec la commande chmod +x manage.py tu dois régler le problème à mon sens.

Puis ./manage.py runserver doit être possible

-
Edité par fred1599 25 septembre 2021 à 14:43:01

  • Partager sur Facebook
  • Partager sur Twitter

Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

25 septembre 2021 à 14:49:29

Alors, le fichier manage.py était éxecutable, et donc pas besoin de lancer la commande chmod +x manage.py,

j'ai lancé la commande pip install django, puis j'ai lancer ./manage.py runserver mais ce n'a rien changé

-
Edité par yaruco 25 septembre 2021 à 16:05:48

  • Partager sur Facebook
  • Partager sur Twitter
25 septembre 2021 à 16:10:50

Ok, bizarre, bizarre...

Plus qu'à refaire la manipulation depuis le départ,

  • Crée un environnement virtuel : python3 -m venv env
  • source env/bin/activate
  • pip install django
  • django-admin startproject monprojet
  • cd monprojet
  • python manage.py runserver
  • Partager sur Facebook
  • Partager sur Twitter

Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

25 septembre 2021 à 16:53:08

Penses-tu que changer d'OS pourrait changer quelques choses ?
  • Partager sur Facebook
  • Partager sur Twitter
25 septembre 2021 à 18:08:17

Ça n'a rien changé ?

Le seul bug que j'ai vu sur les environnements virtuels c'est sur Ubuntu. C'était un conflit entre mon environnement système et mes environnements virtuels.

Depuis j'ai beaucoup utilisé Debian et moins mais avec la même efficacité, Linux Mint sans problème.

-
Edité par fred1599 25 septembre 2021 à 18:57:07

  • Partager sur Facebook
  • Partager sur Twitter

Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

25 septembre 2021 à 21:34:57

Euh non ça n'avait rien changé, d'accord merci beaucoup du conseil, quelle distribution linux pour le développement, me conseillerais-tu ? Mais avec Debian il me semble que ce n'est pas les mêmes commandes dans le terminal ?
  • Partager sur Facebook
  • Partager sur Twitter
25 septembre 2021 à 22:17:15

yaruco a écrit:

Euh non ça n'avait rien changé, d'accord merci beaucoup du conseil, quelle distribution linux pour le développement, me conseillerais-tu ? Mais avec Debian il me semble que ce n'est pas les mêmes commandes dans le terminal ?


Euh j'en ai pas, et Ubuntu malgré mes difficultés de temps en temps est une très bonne distribution.

C'est une question de feeling, mais pour ta question, les commandes sont les mêmes pour Debian, Ubuntu et Linux Mint, car la base de ces distributions c'est Debian.

  • Partager sur Facebook
  • Partager sur Twitter

Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

26 septembre 2021 à 8:53:29

D'accord, merci beaucoup de ton aide !
  • Partager sur Facebook
  • Partager sur Twitter