Bienvenue sur IndexError.

Ici vous pouvez poser des questions sur Python et le Framework Django.

Mais aussi sur les technos front comme React, Angular, Typescript et Javascript en général.

Consultez la FAQ pour améliorer vos chances d'avoir des réponses à vos questions.

ImportError: No module named 'django'

+2 votes

Je n'ai jamais utilisé de framework de web, ni vraiment de web en général (je suis plutôt bas niveau mais au bout d'un moment, la sauce C/bison/flex ça prend un peu trop de neurones et nécessite plusieurs vies pour maîtriser )

Donc ce beau jour, pour me changer les idées, je décide d'apprendre django via openclassrooms (j'suis pas fan de ce site mais j'ai pour habitude de cliquer sur le premier lien google qui apparaît -_-' )

[boblinux@bobz proj]$ django-admin.py startproject site_test #donc mon projet va s'appeler site_test
[boblinux@bobz proj]$ ls # je vérifie qu'il est bien crée avec ls
site_test/ # cool , le dossier site_test est apparu
[boblinux@bobz proj]$ ls site_test/ # il contient bien des trucs django
site_test/  manage.py*
[boblinux@bobz proj]$ ls site_test/site_test/ # je vérifie les sous-dossiers au cas où
__init__.py  settings.py  urls.py  wsgi.py
[boblinux@bobz proj]$ cd site_test/ # je vais dans le repertoire contenant mon projet django

ensuite, on me demande de :

Votre projet étant créé, pour vous assurer que tout a été correctement
effectué jusqu'à maintenant, vous pouvez lancer le serveur de
développement via la commande python manage.py runserver :

[boblinux@bobz site_test]$ python manage.py runserver # et là ...bah ça marche plus !
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'

Dans un moment de grand désespoir, je lance ça pour avoir plus d'infos :

[boblinux@bobz site_test]$ sudo pip install django --upgrade
Requirement already up-to-date: django in /usr/lib/python2.7/site-packages

Version python :

python --version
Python 3.4.3

Version Django :

[boblinux@bobz ~]$ sudo pip install Django
[sudo] password for boblinux: 
Collecting Django
  Downloading Django-1.8.2-py2.py3-none-any.whl (6.2MB)
    100% |████████████████████████████████| 6.2MB 16kB/s 
Installing collected packages: Django
Successfully installed Django-1.8.2

Bécane : Manjaro linux (archlinux like) 32 bits

C'est quoi le problème ?

demandé 19-Jun-2015 par boblinux (3,092 points)

sudo pip whatever

The first rule of pip is to never ever use it with sudo
:)

Pas compris le rapport avec sudo =/

L'idée c'est de ne jamais installer un paquet système wide.

Toujours pas pigé ^^

Jc dit avec ses mots ce que j'ai explique de puis le début.

On ne peut décemment pas flinguer sa configuration système python des qu'on a un second projet qui a d'autres besoins qui viendront bousiller ce que tu as mis du temps à stabiliser une 1° fois. C'est le pourquoi de l'utilisation du saint graal de virtualenv

2 Réponses

+3 votes
 
Meilleure réponse

Après avoir calmement consulter vos réponses/com's très instructives/intéréssantes , j'en suis arrivé à la conclusion suivante :

En fait, ce n'était qu'un problème de pip

Pour ceux qui auraient le même problème, une solution possible :

J'ai donc essayer d'installer pip pour python3, car le pip que j'avais c'était pour python2, via les manips suivantes :

Après un tour sur SO, j'ai fais la manip suivante pour installer pip pour python 3 :

curl -O https://bootstrap.pypa.io/get-pip.py
python get-pip.py

Du coup j'ai bien le bon pip pour python 3 :

pip --version
pip 7.0.3 from /usr/lib/python3.4/site-packages (python 3.4)

Ensuite j'ai réinstaller django avec le nouveau pip :

pip install django

en lançant la commande :

python manage.py runserver

J'obtiens un ti message d'erreur :

You have unapplied migrations; your app may not work properly until they are applied.
Run 'python manage.py migrate' to apply them.

En suivant les instructions tout rentre dans l'ordre, du coup la dernière commande a l'air de fonctionner :

python manage.py runserver
Performing system checks...

System check identified no issues (0 silenced).
June 19, 2015 - 21:45:01
Django version 1.8.2, using settings 'my_web.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.

[Ps/] : Après 5 min de lecture sur openclassnoobs, on me demande déjà de créer un compte ...><'
Décidément, ce site, c'est vraiment devenu de la m...


image

[/Ps]

répondu 19-Jun-2015 par boblinux (3,092 points)
edité 20-Jun-2015 par boblinux

Question réglée en quelques heures, plus fort que les marabouts ! ^^

on va finir par concurrencer SO !

+2 votes

Tu dois avoir plusieurs versions de python installées sur ton ordi, je me trompe ?

Du coup il a installé ton Django pour ta version 2.7 de python:

Requirement already up-to-date: django in
/usr/lib/python2.7/site-packages

Et toi t'as lancé python 3 qui lui n'a pas Django d'installé :)

Cet article devrait te mettre sur la piste.

répondu 19-Jun-2015 par max (892 points)

Du coup j'installe comment django sur python3?

Ps : j'ai lu l'article mais je ne trouve pas directement ce que je cherche (trop de bruit =D )

Edit : Mouarf, ce n'était qu'un problème de pip, tout est rentré dans l'ordre (voir mon auto-réponse pour les intéréssés)

MErci à tout le monde d'avoir participé à ce fil, tout est bien qui finit bien ! =D

...