Ok, je vois beaucoup de ces erreurs. J'ai essayé tout ce que je sais faire et je n'ai pas encore compris cela.
Je travaille sur un serveur de développement exécutant python 2.5 et Django 1.3. Django 1.3 a été installé à l'aide de l'installation de python setup.py après la décompression du téléchargement tar.gz.
Tout fonctionne bien, j'ai rarement besoin de courir manage.py
mais j'essaie 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 un PATH
problème.
Depuis l' installation de Django, je vérifie 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, voyons ce que j'ai, echo $ PYTHON_PATH était vide, donc je l'ai défini
export PYTHON_PATH=/usr/lib/python2.5/site-packages/django
Toujours pas de chance. Vérifions 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']
le 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-t-il une idée de ce qui se passe ici?
J'ai trouvé un lien symbolique plus haut sur le chemin qui gênait, 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.
Nœud latéral: Unode de #django m'a un peu aidé, a configuré virtualenv sur la même machine et a surmonté les erreurs, donc toujours pas sûr de ce qui se passe avec cette installation réelle ici, mais cela ne semble pas être dans les projets django mais dans le django / python install.
la source
import django
dans le shell python?python manage.py syncdb
?Réponses:
Si, comme moi, vous exécutez votre django dans un virtualenv et que vous obtenez cette erreur, regardez votre fichier
manage.py
. La première ligne doit définir l'exécutable python utilisé pour exécuter le script. Cela devrait être le chemin vers le 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 utilisera l'environnement python global (et les packages seront manquants). Changez simplement le chemin dans le chemin de 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éteur python appropriés à condition que vous activiez d'abord votre virtualenv (je suppose que vous savez comment faire cela).la source
<path-to-my-env>/bin/python manage.py runserver
#!/Users/Chris/virtualenv/my_first_venv/bin/python
ou quelque chose le long de ça?Si vous êtes dans un virtualenv, vous devez l'activer avant de pouvoir exécuter ./manage.py 'command'
si vous configurez workon en .bash_profile ou .bashrc
* veuillez ne pas modifier votre fichier manage.py peut-être ne fonctionne pas correctement et pourrait vous donner de futures erreurs
la source
J'ai eu le même problème car j'installais Django en tant que super utilisateur, donc pas dans mon virtualenv. Tu ne devrais pas faire
sudo pip install Django
Au lieu de cela, installez-le de cette façon:
la source
Veuillez réinstaller django avec pip:
sudo pip install --upgrade django==1.3
(Remplacez 1.3 par votre version django)
la source
sudo
pour installer dans les répertoires système interférera avec les packages natifs et interrompra très probablement au moins certaines parties de votre installation python. Je recommanderais virtualenv.Comme on le sait, 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 / etc / profile. Les packages se trouvaient cependant à 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.
la source
Une autre raison possible de ce problème est que votre système d'exploitation exécute python3 par défaut.
Soit vous devez faire explicitement:
python2 manage.py
ou vous devez modifier le shebang de
manage.py
, comme ceci:#!/usr/bin/env python2
ou si vous utilisez python3:
#!/usr/bin/env python3
la source
#!/usr/bin/env python2.7
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 pas une VM )
Exécuter ceci:
Fait le tour!
la source
Vous utilisez probablement virtualenvwrapper . N'oubliez pas de sélectionner votre environnement en exécutant:
la source
Pour moi, mon serveur utilisait Python 2.4. J'ai simplement recherché Python 2.7, qui était installé sur mon serveur, et créé un alias.
alias python=python2.7
Si vous avez besoin d'en savoir plus, j'ai trouvé la solution ici
la source
J'avais le même problème en essayant de créer une nouvelle application. Si vous écrivez
python manage.py startapp myapp
, alors il recherche usr / bin / python. Mais vous avez besoin de ce " python " qui se trouve dans le répertoire / bin de votre chemin d'environnement virtuel . J'ai résolu cela en mentionnant le chemin python de virtualenv comme ceci:la source
Essayez de modifier votre première ligne de manage.py.
Changement
#!/usr/bin/python
par
#!/usr/bin/env python
la source
#!/usr/bin/env python
par#!/usr/bin/python
Vérifier la version de Python
la source
Résolu!!!
Après avoir recherché des âges et essayé toutes ces autres suggestions qui n'ont pas fonctionné, j'ai finalement trouvé la solution pour ma configuration.
Ma configuration / scénario:
Solution
Supprimez tous les dossiers nommés django dans le même répertoire de manage.py
C'est vrai ... dès que j'ai supprimé le dossier "django" qui ne contenait qu'un fichier __init__.py ... je pourrais exécuter à nouveau le serveur!
Je n'ai aucune idée pourquoi
la source
Pour ceux d'entre vous qui utilisent Django 1.6 ou plus récent, notez que execute_manager a été supprimé . Il y a une solution publiée dans la deuxième réponse SO ici .
la source
Stockez le chemin python python dans une variable et exécutez-le, ce qui inclurait les packages manquants.
la source
J'avais un problème similaire. PyCharm n'a pas pu exécuter le serveur mais je pouvais l'exécuter à partir de la ligne de commande. J'ai essayé quel python puis je me suis assuré que PyCharm était le même interprète et tout fonctionnait bien.
la source
Cette erreur se produit généralement lorsque django n'est pas installé. Si vous avez déjà installé django mais que vous 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, faites simplement ceci:
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 s'il est installé sur votre système.
la source
J'ai résolu ce problème en changeant #PATH = "$ VIRTUAL_ENV / bin: $ PATH" en PATH = "$ PATH: $ VIRTUAL_ENV / bin" Pour des raisons qui ne sont pas évidentes pour moi, l'exécutable python dans le répertoire virtualenv ne voit pas django mais normalement python installé le fait.
la source
=================================== SOLUTION ================ ===========================
Tout d'abord: virtualenv
en exécutant la commande: source bin / activate
et installez django car vous obtenez l'erreur liée à 'import django':
Puis exécutez:
(Remarque: veuillez remplacer 'runserver' par le nom du programme que vous souhaitez exécuter)
Pour le même problème, cela a fonctionné dans mon cas. =================================== Synopsis =============== ===========================
ERROR: (Development) Rakeshs-MacBook-Pro:src rakesh$ python manage.py runserver Traceback (most recent call last): File "manage.py", line 8, in <module> from django.core.management import execute_from_command_line ModuleNotFoundError: No module named 'django' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "manage.py", line 14, in <module> import django ModuleNotFoundError: No module named 'django'
Lors de la gestion de l'exception ci-dessus, une autre exception s'est produite:
Traceback (most recent call last): File "manage.py", line 17, in <module> "Couldn't import Django. Are you sure it's installed and " ImportError: Couldn't import Django. Are you sure it's installed and available on your PYTHONPATH environment variable? Did you forget to activate a virtual environment? (Development) Rakeshs-MacBook-Pro:src rakesh$ (Development) Rakeshs-MacBook-Pro:src rakesh$ (Development) Rakeshs-MacBook-Pro:src rakesh$ python -Wall manage.py test Traceback (most recent call last): File "manage.py", line 8, in <module> from django.core.management import execute_from_command_line ModuleNotFoundError: No module named 'django'
Lors de la gestion de l'exception ci-dessus, une autre exception s'est produite:
Traceback (most recent call last): File "manage.py", line 14, in <module> import django ModuleNotFoundError: No module named 'django'
Lors de la gestion de l'exception ci-dessus, une autre exception s'est produite:
Traceback (most recent call last): File "manage.py", line 17, in <module> "Couldn't import Django. Are you sure it's installed and " ImportError: Couldn't import Django. Are you sure it's installed and available on your PYTHONPATH environment variable? Did you forget to activate a virtual environment?
APRÈS L'INSTALLATION de django:
(Development) MacBook-Pro:src rakesh$ pip install django Collecting django Downloading 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) Downloading https://files.pythonhosted.org/packages/30/4e/27c34b62430286c6d59177a0842ed90dc789ce5d1ed740887653b898779a/pytz-2018.5-py2.py3-none-any.whl (510kB) 100% |████████████████████████████████| 512kB 4.7MB/s Installing collected packages: pytz, django
APRÈS LA RÉSOLUTION:
(Development) MacBook-Pro:src rakesh$ python manage.py runserver Performing system checks... System check identified no issues (0 silenced). You have 15 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions. Run 'python manage.py migrate' to apply them. August 05, 2018 - 04:39:02 Django version 2.1, using settings 'trydjango.settings' Starting development server at http://127.0.0.1:8000/ Quit the server with CONTROL-C. [05/Aug/2018 04:39:15] "GET / HTTP/1.1" 200 16348 [05/Aug/2018 04:39:15] "GET /static/admin/css/fonts.css HTTP/1.1" 200 423 [05/Aug/2018 04:39:15] "GET /static/admin/fonts/Roboto-Bold-webfont.woff HTTP/1.1" 200 82564 [05/Aug/2018 04:39:15] "GET /static/admin/fonts/Roboto-Light-webfont.woff HTTP/1.1" 200 81348 [05/Aug/2018 04:39:15] "GET /static/admin/fonts/Roboto-Regular-webfont.woff HTTP/1.1" 200 80304 Not Found: /favicon.ico [05/Aug/2018 04:39:16] "GET /favicon.ico HTTP/1.1" 404 1976
Bonne chance!!
la source
votre projet est créé en utilisant une ancienne version de django-admin.py, antérieure à django1.3
pour résoudre ce problème, créez un autre projet django et copiez son manage.py et collez-le dans l'ancien
la source
Tout à fait d'accord que c'est un problème de chemin, mais fwiw, j'ai eu la même erreur. Cela é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, j'ai dû donner le chemin complet de l'exécutable Python.
HTH, Harlin
la source
source ~ / blog-venv / bin / activate
choisissez votre virtualenv pour remplacer "blog-venv" ici.
la source
File "manage.py", line 8, in <module> from django.core.management import execute_from_ ImportError: No module named django.core.management
Assurez-vous que vous exécutez la bonne instance de Python avec les bons répertoires sur le chemin. Dans mon cas, cette erreur résultait de l'exécution
python
accidentelle de l' exécutable - j'avais en fait installé Django sous lepython2.7
framework et les bibliothèques. La même chose pourrait également se produire avec virtualenv.la source
D'accord, ça va comme ça:
Vous avez créé un environnement virtuel et le module django appartient uniquement à cet environnement, puisque virtualenv s'isole de tout le reste, vous voyez donc cela.
passez par ceci pour obtenir de l'aide:
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.
Vous pouvez également installer django globalement sur 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 les séries python 3+)
et ensuite vous pouvez exécuter ceci: python manage.py runserver et vérifier sur votre navigateur Web en tapant: localhost: 8000 et vous devriez voir la page alimentée par django.
J'espère que cela t'aides.
la source
J'ai inclus le nom de la nouvelle application à la liste INSTALLED_APPS dans le settings.py "avant" j'ai émis la commande startapp. Une fois que j'ai supprimé l'entrée de la liste, je pouvais créer l'application.
la source
J'ai résolu ce problème en utilisant la commande 'django-admin' comme suit à la place:
django-admin startproject _project_name
supprimez simplement le ".py" attaché à "django-admin"
la source
L'appel d'une application
site
peut reproduire ce problème non plus.la source
J'ai eu cela en oubliant que j'avais installé Django en utilisant
pip -U
, donc il n'était disponible que pour l'utilisateur exécutant mon application Django. Pour exécuter manage.py je devais fairela source
tous les gars n'ont pas mentionné un cas où quelqu'un "comme moi" installerait django avant d'installer virtualenv ... donc pour tous les gens de mon genre si vous faisiez cela ... réinstaller django après avoir activé le virtualenv..i J'espère que cela t'aides
la source