django import error - pas de module nommé core.gestion
Ok, je vois beaucoup de ces erreurs autour. J'ai essayé tout ce que je sais faire et n'ont pas encore le comprendre.
je travaille sur un serveur de développement qui exécute python 2.5 et Django 1.3. Django 1.3 a été installé en utilisant python setup.py installer après avoir déballé le goudron.gz télécharger.
Tout fonctionne bien, j'ai rarement le besoin d'exécuter manage.py
mais je suis en train d'essayer d'utiliser la nouvelle application staticfiles et je rencontre 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, donc j'ai le numéro PATH
.
à Partir de Django installer je double-vérifier mon site-packages
répertoire.
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, donc je l'ai paramétré
export PYTHON_PATH=/usr/lib/python2.5/site-packages/django
toujours pas de chance. Permet de vérifier ce sys.le chemin doit 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.la pth avec un contenu
cat /usr/lib/python2.5/site-packages/django.pth
/usr/lib/python2.5/site-packages/django/
Quelqu'un a une idée de ce qui se passe ici?
j'ai trouvé un lien symbolique plus haut dans le chemin qui se mettait en travers, mais pas de 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 là-bas et obtenir les mêmes utils.erreur de version.
noeud latéral :Unode de # django m'a aidé un peu, installer virtualenv sur la même machine et dépasser les erreurs donc toujours pas sûr de ce qui se passe avec cette installation réelle ici, mais il semble que ce ne soit pas dans les projets django mais dans l'installation django/python.
28 réponses
Si, comme moi, vous utilisez votre django dans un virtualenv, et obtenez cette erreur, regardez votre manage.py
.
La première ligne doit définir l'exécutable python utilisé pour exécuter le script.
Ce devrait être le chemin vers le python de votre virtualenv, mais c'est quelque chose de mal comme /usr/bin/python, qui n'est pas le même chemin et utilisera l'environnement python global (et les paquets seront manquants).
Il suffit de changer le chemin dans le chemin de l'exécutable python dans votre virtualenv.
vous pouvez aussi remplacer votre ligne shebang par #!/usr/bin/env python
. Cela devrait utiliser l'environnement et l'interpréteur python appropriés à condition que vous activiez votre virtualenv en premier (je suppose que vous savez comment faire cela).
Si vous êtes dans un virtualenv vous devez l'activer avant de pouvoir exécuter ./manage.py "commande"
source path/to/your/virtualenv/bin/activate
si vous configez workon in .bash_profile ou .bashrc
workon yourvirtualenvname
* please don't edit your manage.py fichier peut-être fonctionne par isnt la manière correcte et pourrait vous donner des erreurs futures
j'ai eu le même problème parce que J'installais Django comme super-utilisateur, donc pas dans mon virtualenv. Vous ne devez pas faire sudo pip install Django
à la place, installez - le de cette façon:
$ source ./bin/activate
$ pip install Django
s'il vous Plaît réinstaller django avec pip:
sudo pip install --upgrade django==1.3
(remplacer 1.3 dans votre version django)
comme connu c'était un problème de chemin.
la base de mes paquets personnalisés partageait un nom avec un répertoire défini dans un profil /etc/. Les paquets étaient à un endroit différent cependant pour le serveur web. Donc j'ai enlevé les entrées offensantes de mon $PYTHONPATH et j'étais bon pour y aller!
Merci pour l'aide.
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 d'exécuter un système embarqué (en utilisant django bien sûr) sur un Raspberry Pi 2 (et not a VM )
:
sudo pip install Django
a fait l'affaire!
- juste au cas où un camarade à l'aide de Raspbian/Jessie obtient cette
vous utilisez probablement virtualenvwrapper . N'oubliez pas de sélectionner votre environnement en exécutant:
$ workon env_name
essayez de changer votre première ligne de manage.py.
Changement
#!/usr/bin/python
par
#!/usr/bin/env python
j'ai eu le même problème en essayant de créer une nouvelle application. Si vous écrivez python manage.py startapp myapp
, alors il cherche usr/bin/python. Mais vous avez besoin de ce " python " qui est situé dans /bin répertoire de votre chemin env virtuel . J'ai résolu cela en mentionnant le chemin python du virtualenv comme ceci:
<env path>/bin/python manage.py startapp myapp
résolu!!!
après avoir cherché ages et essayé toutes ces autres suggestions qui n'ont pas fonctionné, j'ai finalement trouvé la solution pour mon installation.
mon installation / scénario:
- Windows, Python27
- mon projet django est vérifié via svn
- en cours d'exécution python manage.py runserver dans le nouveau dossier, j'ai eu l'erreur d'importation
- python manage.py runserver utilisé pour travailler dans le dossier d'origine (que je commettrais des modifications) jusqu'à ce que je l'ai supprimé
Solution
supprimer le dossier nommé django dans le même répertoire de manage.py
c'est bien...dès que j'ai enlevé le dossier "django" qui ne contenait qu'un _ _ init__.py fichier...Je pourrais relancer le serveur!
Ont aucune idée, mais pourquoi les
pour ceux qui utilisent Django 1.6 ou plus récent, notez que execute_manager a été supprimé . Il y a une solution postée dans la deuxième réponse ici .
stocke le chemin python python dans une variable et exécute.Cela inclut les paquets manquants.
python_path= `which python`
$python_path manage.py runserver
j'ai eu un problème similaire. PyCharm ne pouvait pas exécuter le serveur mais je pouvais l'exécuter depuis la ligne de commande. J'ai essayé quel python, puis j'ai fait en sorte que PyCharm soit le même interprète et ensuite 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 toujours la même erreur, alors vous devez travailler dans les séparer environnement virtuel. Vous devez également installer django dans votre environnement virtuel. Quand vous êtes dans shell de machine virtuelle simplement faire ceci:
pip install 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é sur votre système.
j'ai corrigé ce problème en changeant #PATH= "$VIRTUAL_ENV/bin:$PATH" en chemin = " $PATH:$VIRTUAL_ENV/bin" Pour des raisons qui ne me semblent pas évidentes, l'exécutable python dans le virtualenv dir ne voit pas django mais le python normalement installé le fait.
==================================SOLUTION=========================================
premier goto: virtualenv
en exécutant la commande: Source bin / activate
et installer django parce que vous obtenez l'erreur liée à "importer django":
pip install django
puis courir: python manage.py runserver
(Note: veuillez changer "runserver" pour le nom du programme que vous souhaitez exécuter)
pour le même numéro, ça a marché dans mon cas. ==================================Synopsis========================================= ERREUR: (Développement) Rakeshs-MacBook-Pro: src rakesh$ python manage.py runserver Traceback (most recent call last): Fichier "manage.py", ligne 8, dans de django.core.gestion de l'importation execute_from_command_line Modulenotfonderror: aucun module nommé "django"
lors de la manipulation du au-dessus de l'exception, une autre exception s'est produite:
Traceback (dernier appel en date)): Fichier "manage.py", ligne 14, dans import django Modulenotfonderror: aucun module nommé "django"
au cours de la manipulation de l'exception ci-dessus, une autre exception s'est produite:
Traceback (dernier appel en date)): Fichier "manage.py", ligne 17, dans "Je ne pouvais pas importer Django. Êtes-vous sûr que c'est installé et " Je ne pouvais pas importer Django. Être vous êtes 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 essai Traceback (most recent call last): Fichier "manage.py", ligne 8, dans de django.core.gestion de l'importation execute_from_command_line Modulenotfonderror: aucun module nommé "django"
au cours de la manipulation de l'exception ci-dessus, une autre exception s'est produite:
Traceback (dernier appel en date)): Fichier "manage.py", ligne 14, dans import django Modulenotfonderror: aucun module nommé "django"
au cours de la manipulation de l'exception ci-dessus, une autre exception s'est produite:
Traceback (dernier appel en date)): Fichier "manage.py", ligne 17, dans "Je ne pouvais pas importer Django. Êtes-vous sûr que c'est installé et " Je ne pouvais pas 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 INSTALLATION de django:
(développement) MacBook-Pro: src rakesh$ pip install django La collecte de django Télécharger https://files.pythonhosted.org/packages/51/1a/e0ac7886c7123a03814178d7517dc822af0fe51a72e1a6bff26153103322/Django-2.1-py3-none-any.whl (7.3 MB) 100% |████████████████████████████████| 7.3 MO 1.1 MO/s Collecte pytz (à partir de django) Télécharger https://files.pythonhosted.org/packages/30/4e/27c34b62430286c6d59177a0842ed90dc789ce5d1ed740887653b898779a/pytz-2018.5-py2.py3-none-any.whl (510kB) 100% |████████████████████████████████| 512ko 4,7 MB/s Installation des paquets collectés: pytz, django
APRÈS RÉSOLUTION:
(développement) MacBook-Pro: src rakesh$ python manage.py runserver Effectuer des vérifications du système...
la vérification du système n'a révélé aucun problème (0 réduit au silence).
vous avez 15 migration(s) non appliquée (s). Votre projet ne fonctionnera peut-être pas correctement tant que vous n'appliquerez pas les migrations pour app(s): admin, auth, contenttypes, sessions. Run 'python manage.py migrer" pour les appliquer.
August 05, 2018 - 04:39:02 Django version 2.1, utilisant le trydjango de settings.paramètre' Commencer serveur de développement à http://127.0.0.1:8000 / Quittez le serveur avec CONTROL-C. [05 / Aug / 2018 04:39: 15] "GET / HTTP / 1.1" 200 16348 [05/Août/2018 04:39:15] "GET /statique/admin/css/fonts.CSS HTTP / 1.1" 200 423 [05/Août/2018 04:39:15] "GET /statique/admin/fonts/Roboto-Gras-webfont.woff HTTP / 1.1" 200 82564 [05/Août/2018 04:39:15] "GET /statique/admin/fonts/Roboto-Lumière-webfont.woff HTTP / 1.1 " 200 81348 [05/Août/2018 04:39:15] "GET /statique/admin/fonts/Roboto-Régulier-webfont.woff HTTP / 1.1 " 200 80304 Non trouvé: / favicon.ico [05 / Aug /2018 04:39:16] "GET / favicon.ico HTTP/1.1" 404 1976
bonne chance!!
votre projet est créé en utilisant une ancienne version de django-admin.py, plus vieux que django1.3
pour corriger cela créer un autre projet django et copier son manage.py et le coller dans le vieux
est d'accord que c'est un problème de chemin mais fwiw, j'ai eu la même erreur. Elle était due à l'erreur d'utiliser un chemin relatif pour mon Python exécutable 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
à la place, j'ai dû donner le chemin complet à L'exécutable Python.
HTH, Harlin
source ~ / blog-venv / bin /activate
choisissez votre virtualenv pour remplacer "blog-venv" ici.
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 de l'exécutable python
par accident - J'avais en fait installé Django sous le python2.7
framework & libraries. La même chose pourrait se produire en raison de virtualenv.
Ok donc ça se passe comme ça:
vous avez créé un environnement virtuel et le module django n'appartient qu'à cet environnement.Puisque virtualenv s'isole de tout le reste,vous le voyez.
allez par le biais de ce pour obtenir de l'aide:
1.Vous pouvez basculez vers le répertoire où votre environnement virtuel est stocké, puis exécutez le module django.
2.Vous pouvez aussi installer django globalement dans vos paquets python - >site-en exécutant pip ou easy_install
commande utilisant pip: pip install django
alors faites ceci:
import django print (django.get_version()) (selon la version de python que vous utilisez.Ceci pour la série python 3+ )
et ensuite vous pouvez exécuter ceci: python manage.py runserver et vérifiez sur votre navigateur Web en tapant: localhost: 8000 et vous devriez voir django alimenté page.
Espérons que cette aide.
j'ai inclus le nom de la nouvelle application dans la liste INSTALLED_APPS settings.py "avant", j'ai donné l'ordre de startapp. Une fois que j'ai enlevé l'entrée de liste, je pourrais créer l'application.
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"
ayant une application appelée site
peut reproduire ce numéro soit.
vous n'avez pas parlé d'un cas où quelqu'un "comme moi" installerait django befor installant virtualenv...donc pour tous les gens de mon espèce si vous faisiez ça...réinstaller django après avoir activé le virtualenv..j'espère que cette aide