web-dev-qa-db-fra.com

Django installé, mais ne peut pas importer Django dans python

J'ai installé Django plusieurs façons, via apt-get et pip install. Ils disent tous que j'ai la version la plus récente de Django. Maintenant, chaque fois que je lance python dans Terminal et que je sais importer Django, je reçois

ImportError: No module named Django

Cependant, lorsque je lance Django-admin --version je reçois

1.4.3

Je sais qu'il est installé, mais pourquoi python ne trouve-t-il pas le module Django?

14
jason328

pythonne trouve pas Djangocar il ne se trouve pas sur son chemin. Vous pouvez voir la liste des chemins pythoncherche des modules comme celui-ci:

$ python
>>> import sys
>>> sys.path

Vous pouvez importer Djangosi vous trouvez l'emplacement où il est installé et l'ajouter au chemin d'accès pythonname__, par exemple:

$ PYTHONPATH=/path/to/Django/parent/dir python
>>> import Django  # should work now

Mais votre vrai problème est que quelque chose ne va pas avec votre installation pythonname__. Si vous avez installé pythonAND Djangoà l'aide de apt-get, alors Djangodevrait certainement figurer sur le chemin pythonsans les pirates informatiques décrits ci-dessus.

Cela dit, lorsque vous travaillez avec Django, votre meilleur choix est de NE PAS utiliser apt-get mais de créer un environnement virtuel en utilisant virtualenv(vous pouvez installer virtualenvlui-même en utilisant apt-get), et installer Django et d'autres modules votre Django Le site peut avoir besoin d'utiliser pipdans l'environnement virtuel. De cette façon, vous pouvez avoir plusieurs Django projets côte à côte, avec précisément les modules Python et les versions nécessaires. C'est juste quelques étapes supplémentaires à faire, mais cela en vaut vraiment la peine et vous évitera beaucoup de frustration à l'avenir.

7
janos

J'avais le même problème lorsque j'utilisais PyCharm Community Edition pour créer des projets Django.

Pour moi, les étapes suivantes ont fonctionné:

Il s'avère que python veut que vous créiez un environnement virtuel, y installiez Django, puis exécutiez le serveur. Pour faire ça,

Créer un environnement virtuel

1) Installez l’environnement virtuel à l’aide de pip install virtualenv.

2) Accédez au dossier du projet et saisissez virtualenv env (Ici env est le nom de l'environnement virtuel.) Ceci créera un nouveau dossier nommé env dans le dossier du projet.

3) Accédez à env/Scripts dans votre dossier de projet à l’aide de cd env/Scripts.

4) Tapez activate et appuyez sur Entrée. Cela devrait démarrer l'environnement virtuel. Vous pouvez vérifier que (env) serait préfixé de votre chemin actuel.

Installer Django

1) Une fois dans l’environnement virtuel, retournez dans le dossier de votre projet en utilisant cd ../.. et tapez pip install Django.

2) Vous pouvez vérifier son installation en tapant Django-admin --version. Il devrait afficher le numéro de version Django installé dans l'environnement virtuel.

Maintenant, tapez python manage.py runserver pour démarrer le serveur python.

4
Sourav Samanta

j'ai ce problème et l'avais encore jusqu'à récemment dans mon projet vscode n'a pas reconnu mon environnement virtuel, donc quand j'essaye de lancer le projet, il me donne une erreur que vscode ne peut pas importer Django

le correctif pour cela pour moi que j'ai exporté les bibliothèques dans mon environnement virtuel à un remplissage

pip freeze > req.txt

puis j'ai créé un nouvel environnement virtuel avec les mêmes exigences, et cela a fonctionné

remarque: essayez de regarder ceci environnement virtuel python

0
mohamed salah

Si vous avez plusieurs versions python installées sur votre ordinateur. Les différents paquets que vous essayez d'installer sont en conflit. La meilleure approche consiste donc à utiliser virtualenv ..

  1. Installation virtuelle simple et version python
  2. utilisez virtualenv env pour créer virtualenvironment.
  3. activer votre virtualenv. en utilisant ./nom_env/bin/activate
  4. utiliser pip install Django == 1.70 (spécifier la version sur laquelle installer Django)
  5. pip list pour lister tous les paquets installés.
0
Suman Astani