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.
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.
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).
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
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
Veuillez réinstaller Django avec le pip:
Sudo pip install --upgrade Django==1.3
(Remplacez 1.3 par votre version Django)
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
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!
Vous utilisez probablement virtualenvwrapper. N'oubliez pas de sélectionner votre environnement en exécutant:
$ workon env_name
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
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
Essayez de changer votre première ligne de manage.py.
Changement
#!/usr/bin/python
par
#!/usr/bin/env python
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:
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
python3 manage.py runserver
Vérifier la version de Python
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
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 .
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.
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é.
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.
================================= 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?
(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
(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!!
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
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.
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.
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"
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
source ~/blog-venv/bin/activate
choisissez votre virtualenv pour remplacer "blog-venv" ici.
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:
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.
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.