web-dev-qa-db-fra.com

django erreur d'importation - Aucun module nommé core.management

Ok, je vois beaucoup de ces erreurs autour. J'ai essayé tout ce que je sais faire et je ne l'ai pas encore compris.

Je travaille sur un serveur de développement qui exécute python 2.5 et Django 1.3. Django 1.3 a été installé à l'aide de python setup.py après avoir décompressé le téléchargement du fichier .tar.gz.

Tout fonctionne bien, j'ai rarement besoin d'exécuter manage.py mais j'essaie d'utiliser la nouvelle application staticfiles et j'ai des problèmes.

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

Ok, j'ai donc PATH issue.

Depuis installation de Django Je vérifie de nouveau mon répertoire site-packages.

python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()"
/usr/lib/python2.5/site-packages

Ok, vérifions ce que j'ai, echo $ PYTHON_PATH était vide, je l'ai donc mis

export PYTHON_PATH=/usr/lib/python2.5/site-packages/Django

Toujours pas de chance. Permet de vérifier ce que sys.path a à dire

>>> import sys
>>> print sys.path
['', '/usr/lib/python2.5', '/usr/lib/python2.5/plat-linux2', '/usr/lib/python2.5/lib-tk', '/usr/lib/python2.5/lib-dynload', '/usr/local/lib/python2.5/site-packages', '/usr/lib/python2.5/site-packages', '/usr/lib/python2.5/site-packages/PIL', '/usr/lib/python2.5/site-packages/Django', '/var/lib/python-support/python2.5']

chemin est là, j'ai même créé /usr/lib/python2.5/site-packages/Django.pth avec le contenu

cat /usr/lib/python2.5/site-packages/Django.pth 
/usr/lib/python2.5/site-packages/Django/

Quelqu'un a des indices sur ce qui se passe ici?

J'ai trouvé un lien symbolique plus haut sur le chemin qui se mettait dans la voie, mais pas sur une nouvelle erreur.

python manage.py collectstatic
Traceback (most recent call last):
  File "manage.py", line 14, in <module>
    execute_manager(settings)
  File "/usr/lib/python2.5/site-packages/Django/core/management/__init__.py", line 438, in execute_manager
    utility.execute()
  File "/usr/lib/python2.5/site-packages/Django/core/management/__init__.py", line 349, in execute
    version=get_version(),
  File "/usr/lib/python2.5/site-packages/Django/__init__.py", line 12, in get_version
    from Django.utils.version import get_svn_revision
ImportError: No module named utils.version

J'ai également essayé de créer un nouveau projet pour voir s'il y avait des problèmes et obtenir la même erreur utils.version.

Noeud latéral: Unode de #Django m'a aidé un peu, a configuré virtualenv sur la même machine et a corrigé les erreurs, donc je ne sais toujours pas ce qui se passe avec cette installation réelle ici, mais cela ne semble pas se trouver dans le Django projets mais dans l'installation de Django/python.

181
grantk

Comme on le savait, c'était un problème de chemin.

la base de mes packages personnalisés partageait un nom avec un répertoire défini dans un fichier/etc/profile. Les paquets étaient cependant dans un emplacement différent pour le serveur Web. J'ai donc supprimé les entrées incriminées de mon $ PYTHONPATH et j'étais prêt à partir!

Merci pour l'aide.

10
grantk

Si, comme moi, vous exécutez votre Django dans un environnement virtuel et obtenez cette erreur, consultez votre manage.py. La première ligne doit définir l'exécutable python utilisé pour exécuter le script. Cela devrait être le chemin d'accès au python de votre virtualenv, mais c'est quelque chose qui ne va pas, comme/usr/bin/python, qui n'est pas le même chemin et qui utilisera l'environnement global python (et des paquetages seront manquants). Changez simplement le chemin en chemin vers l'exécutable python dans votre virtualenv.

Vous pouvez également remplacer votre ligne Shebang par #!/usr/bin/env python. Cela devrait utiliser l'environnement et l'interprète python appropriés, à condition que vous activiez votre virtualenv en premier (je suppose que vous savez comment faire cela).

162
Steve K

Si vous êtes dans un environnement virtuel, vous devez l'activer avant de pouvoir exécuter ./manage.py 'commande'

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

si vous configurez un travail dans .bash_profile ou .bashrc

workon yourvirtualenvname

* s'il vous plaît ne pas modifier votre fichier manage.py fonctionne peut-être par isnt la bonne façon et pourrait vous donner des erreurs futures

39
elin3t

J'ai eu le même problème parce que j'installais Django en tant que super utilisateur, donc pas dans mon virtualenv. Vous ne devriez pas faire Sudo pip install Django

Au lieu de cela, installez-le de cette façon:

$ source ./bin/activate
$ pip install Django
29
aviggiano

Veuillez réinstaller Django avec le pip:

Sudo pip install --upgrade Django==1.3

(Remplacez 1.3 par votre version Django)

14
satels

une autre raison possible de ce problème est que votre système d'exploitation exécute python3 par défaut.

soit vous faites explicitement: python2 manage.py

ou vous éditez le Shebang de manage.py, comme ceci:

#!/usr/bin/env python2
9
nuts

J'ai eu cette erreur en essayant de faire fonctionner un système intégré (en utilisant Django bien sûr) sur un Raspberry Pi 2 (et not a VM)

Lancer ceci:

 Sudo pip install Django

Fait le tour!

  • juste au cas où un camarade utilisant Raspbian/Jessie obtient ceci
7
d1jhoni1b

Vous utilisez probablement virtualenvwrapper. N'oubliez pas de sélectionner votre environnement en exécutant:

$ workon env_name
5
M K

J'avais le même problème en essayant de créer une nouvelle application. Si vous écrivez python manage.py startapp myapp, il cherchera usr/bin/python. Mais vous avez besoin de ce "python" qui se trouve dans le répertoire / bin de votre chemin virtuel env. J'ai résolu ce problème en mentionnant le chemin python de virtualenv, comme ceci:

<env path>/bin/python manage.py startapp myapp
4
Tarique

Pour moi, mon serveur utilisait Python 2.4. J'ai simplement cherché Python 2.7, qui était installé sur mon serveur, et j'ai créé un alias.

alias python=python2.7

Si vous voulez en savoir plus, j'ai trouvé la solution ici

4
el_stack

Essayez de changer votre première ligne de manage.py.

Changement

#!/usr/bin/python

par

#!/usr/bin/env python
3
Gabriel Cavalcante

résolu ça !!!

Après avoir recherché ages et essayé toutes ces autres suggestions qui n’ont pas fonctionné, j’ai finalement trouvé la solution pour mon installation.

Ma configuration/scénario:

  • Windows, Python27
  • Mon projet Django est extrait via svn
  • lors de l'exécution de python manage.py runserver dans le nouveau dossier, l'erreur d'importation s'est produite
  • python manage.py runserver travaillait dans le dossier d'origine (dans lequel je commettrais les modifications) jusqu'à ce que je le supprime

Solution

Supprimez le dossier nommé Django dans le même répertoire que manage.py

C’est vrai ... dès que j’ai supprimé le dossier "Django" qui ne contenait qu’un fichier __ init __. Py ... je pouvais exécuter le serveur à nouveau!

Je ne sais pas pourquoi

3
Dan
python3 manage.py runserver

Vérifier la version de Python

2
sim

Stockez le chemin python python dans une variable et exécutez-le. Cela inclurait les packages manquants.

python_path= `which python` 
$python_path manage.py runserver
2
Nischay Gulati

Pour ceux qui utilisent Django 1.6 ou une version ultérieure, notez que execute_manager a été supprimé . Il y a une solution postée dans la deuxième SO réponse ici .

2
Owen

J'ai résolu ce problème en remplaçant #PATH = "$ VIRTUAL_ENV/bin: $ PATH" par PATH = "$ PATH: $ VIRTUAL_ENV/bin" Pour des raisons qui ne me semblent pas évidentes, l'exécutable python dans le répertoire virtualenv pas voir Django mais le python normalement installé le fait.

1
Lowlysquib

J'avais un problème similaire. PyCharm ne pouvait pas exécuter le serveur mais je pouvais l'exécuter à partir de la ligne de commande. J'ai essayé quel python et je me suis assuré que PyCharm était le même interprète, puis tout a bien fonctionné.

1
Trip Denton

Cette erreur se produit généralement lorsque Django n'est pas installé. Si vous avez déjà installé Django mais obtenez toujours la même erreur, vous devez travailler dans un environnement virtuel séparé. Vous devez également installer Django dans votre environnement virtuel. Lorsque vous êtes dans le shell de la machine virtuelle, procédez comme suit:

pip installer Django

C'est parce que la machine virtuelle a un système de fichiers séparé, elle ne reconnaît pas Django même si elle est installée sur votre système.

1
Rai Ammad Khan

================================= SOLUTION ============== ==========================

Premier goto: virtualenv

en exécutant la commande: source bin/activate

et installez Django parce que vous obtenez l'erreur liée à 'importer Django':

pip installer Django

Ensuite, exécutez: python manage.py runserver

(Remarque: veuillez remplacer le serveur d'exécution par le nom du programme que vous souhaitez exécuter)

Pour le même problème, cela a fonctionné dans mon cas. ================================= Synopsis ============== ======================== ERREUR: (Développement) Rakeshs-MacBook-Pro: src rakesh $ python manage.py runserver Traceback (l'appel le plus récent en dernier): fichier "manage.py", ligne 8, provenant de Django.core.management import execute_from_command_line ModuleNotFoundError: aucun module nommé "Django"

Lors du traitement de l'exception ci-dessus, une autre exception s'est produite:

Traceback (appel le plus récent en dernier): Fichier "manage.py", ligne 14, dans import Django ModuleNotFoundError: aucun module nommé "Django".

Lors du traitement de l'exception ci-dessus, une autre exception s'est produite:

Traceback (l'appel le plus récent en dernier): Fichier "manage.py", ligne 17, dans "Impossible d'importer Django. Etes-vous sûr qu'il est installé et" ImportError: Impossible d'importer Django. Êtes-vous sûr qu'il est installé et disponible sur votre variable d'environnement PYTHONPATH? Avez-vous oublié d'activer un environnement virtuel? (Développement) Rakeshs-MacBook-Pro: src rakesh $ (Développement) Rakeshs-MacBook-Pro: src rakesh $ (Développement) Rakeshs-MacBook-Pro: src rakesh $ python -Wall manage.py test Traceback (appel le plus récent en dernier): Fichier "manage.py", ligne 8, à partir de Django.core.management import execute_from_command_line ModuleNotFoundError: Aucun module nommé "Django".

Lors du traitement de l'exception ci-dessus, une autre exception s'est produite:

Traceback (appel le plus récent en dernier): Fichier "manage.py", ligne 14, dans import Django ModuleNotFoundError: aucun module nommé "Django".

Lors du traitement de l'exception ci-dessus, une autre exception s'est produite:

Traceback (l'appel le plus récent en dernier): Fichier "manage.py", ligne 17, dans "Impossible d'importer Django. Etes-vous sûr qu'il est installé et" ImportError: Impossible d'importer Django. Êtes-vous sûr qu'il est installé et disponible sur votre variable d'environnement PYTHONPATH? Avez-vous oublié d'activer un environnement virtuel?

APRÈS L’INSTALLATION DE Django:

(Développement) MacBook-Pro: src rakesh $ pip install Django Collection Django Téléchargement https://files.pythonhosted.org/packages/51 /1a/e0ac7886c7123a03814178d7517dc822af0fe51a72e1a6bff26153103322/Django-2.1-py3-none-any.whl (7.3MB) 100% | ██████████████████ | 7.3MB 1.1MB/s Collecting pytz (from Django) Téléchargement https://files.pythonhosted.org/packages/30/4e/27c34b624306c6d59177a0842ed90dc789ce5d1ed74088765898779/ any.whl (510kB) 100% | ████████████████████████████████ | 512kB 4,7 Mo/s Installation des packages collectés: pytz, Django

APRES RESOLUTION:

(Développement) MacBook-Pro: src rakesh $ python _ manage.py runserver Contrôle en cours du système ...

La vérification du système n'a révélé aucun problème (0 en mode silencieux).

Vous avez 15 migration (s) non appliquée (s). Votre projet peut ne pas fonctionner correctement tant que vous n'avez pas appliqué les migrations pour les applications: admin, auth, contenttypes, sessions. Exécutez 'python manage.py migrate' pour les appliquer.

5 août 2018 - 04:39:02 Django version 2.1, en utilisant les paramètres 'trydjango.settings' Démarrage du serveur de développement à l'adresse http://127.0.0.1.18000/ Quittez le serveur avec CONTROL-C. [05/août/2018 04:39:15] "GET/HTTP/1.1" 200 16348 [05/août/2018 04:39:15] "GET /static/admin/css/fonts.css HTTP/1.1" 200 423 [05/août/2018 04:39:15] "GET /static/admin/fonts/Roboto-Bold-webfont.woff HTTP/1.1" 200 82564 [05/août/2018 04:39:15] "GET/static/admin/fonts/Roboto-Light-webfont.woff HTTP/1.1 "200 81348 [05/Août/2018 04:39:15]" GET /static/admin/fonts/Roboto-Regular-webfont.woff HTTP/1.1 "200 80304 Introuvable: /favicon.ico [05/Août/2018 04:39:16]" GET /favicon.ico HTTP/1.1 "404 1976

Bonne chance!!

1
rakesh

Je l’ai eu parce que j’avais oublié que j’avais installé Django avec pip -U, il n’était donc disponible que pour l’utilisateur exécutant mon application Django. Pour exécuter manage.py je devais faire

Sudo su -s /bin/bash MY_Django_USER
/PATH/TO/MY/APP/manage.py
0
EM0

J'ai inclus le nom de la nouvelle application à la liste INSTALLED_APPS dans le fichier settings.py "avant" j'ai lancé la commande startapp. Une fois que j'ai supprimé l'entrée de la liste, je pouvais créer l'application.

0
Milad M

Avoir une application appelée site peut reproduire ce problème non plus.

votre projet est créé avec une ancienne version de Django-admin.py, antérieure à Django1.3

pour résoudre ce problème, créez un autre projet Django, copiez-le dans le fichier manage.py et collez-le dans l'ancien.

0
MBarsi

J'ai résolu ce problème en utilisant la commande 'Django-admin' comme suit:

Django-admin startproject _project_name

il suffit de supprimer le ".py" attaché à "Django-admin"

0
M Haziq

Entièrement convenu que c'est un problème de chemin mais fwiw, j'ai eu la même erreur. C'était dû à l'erreur d'utiliser un chemin relatif pour mon exécutable Python lors de la configuration de mon environnement virtuel. J'avais fait ceci:

virtualenv -p ~/python_runtimes/2.7.3/bin/python venv2.7.3 --distribute

Au lieu de cela, je devais donner le chemin complet à l'exécutable Python.

HTH, Harlin

0
Harlin

source ~/blog-venv/bin/activate

choisissez votre virtualenv pour remplacer "blog-venv" ici.

0
windmaomao

Bon alors ça va comme ça:

Vous avez créé un environnement virtuel et le module Django n'appartient qu'à cet environnement. Depuis virtualenv s'isole de tout le reste, c'est ce que vous constatez.

passer par ceci pour plus d'assistance:

http://www.swegler.com/becky/blog/2011/08/27/python-Django-mysql-on-windows-7-part-i-getting-started/

1.Vous pouvez basculer vers le répertoire dans lequel votre environnement virtuel est stocké, puis exécuter le module Django.

2.Vous pouvez également installer Django globalement sur vos paquets-sites python-> en exécutant pip ou easy_install.

Commande utilisant pip: pip install Django

alors fais ceci:

importer Django print (Django.get_version ()) (en fonction de la version de python que vous utilisez. Ceci pour python 3 séries ou plus)

et ensuite vous pouvez exécuter ceci: python manage.py serveur d'exécution et vérifier votre navigateur Web en tapant: localhost: 8000 et vous devriez voir Django page optimisée.

J'espère que cela t'aides.

0
Ashish

Assurez-vous que vous utilisez la bonne instance de Python avec les bons répertoires sur le chemin. Dans mon cas, cette erreur résultait de l'exécution du fichier exécutable python par accident. J'avais en fait installé Django sous le cadre _python2.7_ et les bibliothèques. La même chose pourrait se produire à la suite de virtualenv.

0
Chris Johnson