Django installé, mais ne peut pas importer django en python

14

J'ai installé Django de plusieurs façons, via apt-getet 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 tape import django, je reçois

ImportError: No module named django

Cependant, quand je cours, django-admin --versionje reçois

1.4.3

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

jason328
la source
Avez-vous installé Python manuellement?
Ignacio Vazquez-Abrams
Pour être honnête, je ne me souviens pas.
jason328

Réponses:

7

pythonne trouve pas djangoparce qu'il n'est pas sur son chemin. Vous pouvez voir la liste des chemins d'accès pythonpour des modules comme celui-ci:

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

Vous pouvez importer djangosi vous trouvez l'emplacement où il est installé et ajouter cet emplacement au pythonchemin d'accès, par exemple comme ceci:

$ 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 pythoninstallation. Si vous avez installé les deux pythonET en djangoutilisant apt-get, alors vous djangodevriez certainement être sur pythonle chemin sans hacks sales comme ci-dessus.

Cela dit, lorsque vous travaillez avec Django, votre meilleur pari est de NE PAS utiliser apt-getmais de créer un environnement virtuel en utilisant virtualenv(vous pouvez vous installer virtualenven utilisant apt-get), et d'installer Django et d'autres modules que votre site Django pourrait avoir besoin d'utiliser pipdans l'environnement virtuel. De cette façon, vous pouvez avoir plusieurs projets Django côte à côte, avec précisément les modules Python et les versions dont il a besoin. Ce ne sont que quelques étapes supplémentaires à faire, mais cela en vaut vraiment la peine et vous évitera de nombreuses frustrations à l'avenir.

janos
la source
Vous pouvez également ajouter au chemin directement dans votre code en utilisant sys.path.append ('path / to / django'), puis importer normalement
NGRhodes
@NGRhodes Les chemins de codage en dur dans le code ne sont pas une bonne idée.
janos
peut toujours lire le chemin depuis un élément de configuration, c'est donc un paramètre d'exécution :)
NGRhodes
4

J'ai eu 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, installez django dans celui-ci, puis exécutez 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 tapez virtualenv env(voici envle nom de l'environnement virtuel.) Cela créera un nouveau dossier nommé envà l'intérieur du dossier du projet.

3) Accédez à l' env/Scriptsintérieur de votre dossier de projet à l'aide de .cd env/Scripts

4) Tapez activateet appuyez sur Entrée. Cela devrait démarrer l'environnement virtuel. Vous pouvez vérifier cela comme il serait préfixé à votre chemin d'accès actuel.(env)

Installer Django

1) Une fois à l'intérieur de l'environnement virtuel, retournez dans votre dossier de projet en utilisant cd ../..et tapez pip install django.

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

Tapez maintenant python manage.py runserverpour démarrer le serveur python.

Sourav Samanta
la source
0

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

  1. Environnement virtuel d'installation simple et version python
  2. utilisez virtualenv env pour créer un environnement virtuel.
  3. activez votre virtualenv. en utilisant . / nom_env / bin / activate
  4. utilisez pip install django == 1.70 (spécifiez la version pour installer django)
  5. pip liste pour lister tous les packages installés.
Suman Astani
la source
0

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

le correctif pour moi que j'ai exporté les bibliothèques de 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é

note: essayez de rechercher cet environnement virtuel python

mohamed salah
la source
0

J'ai fait face au même problème. J'ai activé l'environnement virtuel $ source bin / activate

après cela, il m'a montré la version de Django

Il n'était pas nécessaire d'installer quoi que ce soit.


mamata @ mamta-inspire-all: ~ / dodjango $ python -m django --version / usr / bin / python: aucun module nommé django

mamata @ mamta-inspire-all: ~ / dodjango $ django-admin --version

La commande 'django-admin' est introuvable, mais peut être installée avec:

sudo apt install python-django-common

mamata @ mamta-inspire-all: ~ / dodjango $ source bin / activate

(dodjango) mamata @ mamta-inspire-all: ~ / dodjango $ ls

bin include lib lib64 mamusite pyvenv.cfg share

(dodjango) mamata @ mamta-inspire-all: ~ / dodjango $ django-admin --version 2.2.5

(dodjango) mamata @ mamta-inspire-all: ~ / dodjango $ python -m django --version 2.2.5


Mamumath
la source
Essayez de modifier la réponse avec l'aide d'AskUbuntu.
NIMISHAN
-1

J'ai ce problème lorsque j'ai renommé le dossier du projet dans PyCharm.

  1. L'onglet Terminal a cessé d'accéder à l'environnement virtuel ( venvdossier). Pour résoudre ce problème, je suis allé à l' Settings -> Project -> Projectinterprète et j'ai changé le dossier là-bas.
  2. Django "a disparu". django-admin --versionN'a pas répondu. Pour corriger, je l'ai fait pip install djangodans le venv.

Ça m'a aidé.

tivnet
la source