importer - sys.path python




Erreur d'importation django-Aucun module nommé core.management (18)

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

Je travaille sur un serveur de développement exécutant python 2.5 et Django 1.3. Django 1.3 a été installé en installant python setup.py après avoir décompressé le téléchargement de tar.gz.

Tout fonctionne bien, j'ai rarement besoin de lancer 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, j'ai un problème avec PATH .

Depuis l' installation de Django, je vérifie le répertoire de mon site-packages .

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

Ok, regardons ce que j'ai, echo $ PYTHON_PATH était vide, donc je l'ai 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 entrait en jeu, 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 aidé un peu, a installé virtualenv sur la même machine et a passé les erreurs donc je ne sais toujours pas ce qui se passe avec cette installation, mais il semble ne pas être dans les projets django mais dans le django / Installation de python.


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 accidentelle de l'exécutable python - j'avais effectivement installé Django sous le framework & libraries python2.7 . La même chose pourrait se produire à la suite de virtualenv.


Bon, ça va comme ça:

Vous avez créé un environnement virtuel et le module django appartient à cet environnement uniquement. Puisque virtualenv s'isole de tout le reste, vous voyez cela.

passer par là 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.

En variante, vous pouvez installer django globalement sur votre python-> site-packages en lançant 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 puis vous pouvez lancer ceci: python manage.py runserver et vérifiez 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.


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

la base de mes paquets personnalisés partageait un nom avec un répertoire défini dans / etc / profile. Les paquets étaient dans un endroit différent cependant pour le serveur Web. J'ai donc enlevé les entrées incriminées de mon $ PYTHONPATH et j'allais bien!

Merci pour l'aide.


Convenu complètement que c'est un problème de chemin mais fwiw, j'ai eu cette 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, j'ai dû donner le chemin complet de l'exécutable Python.

HTH, Harlin


J'ai corrigé ce problème en changeant #PATH = "$ VIRTUAL_ENV / bin: $ PATH" en PATH = "$ PATH: $ VIRTUAL_ENV / bin" Pour des raisons qui ne me sont pas évidentes, l'exécutable python dans le répertoire virtualenv ne voit pas django mais normalement installé python.


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 non un VM )

En cours d'exécution:

 sudo pip install Django

Fait le tour!

  • juste au cas où un camarade utilisant Raspbian / Jessie obtient ce

J'ai inclus le nom de la nouvelle App à 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 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"


Je recevais le même problème pendant que j'essayais 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 se trouve dans le répertoire / bin de votre chemin env virtuel . J'ai résolu cela en mentionnant le chemin python de virtualenv comme ceci:

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


S'il vous plaît, réinstallez django avec pip:

sudo pip install --upgrade django==1.3

(Remplacez 1.3 par votre version django)


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

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

si vous config travaillez dans .bash_profile ou .bashrc

workon yourvirtualenvname

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


Stockez le chemin python python dans une variable et exécutez. Cela inclura les paquets manquants.

python_path= `which python` 
$python_path manage.py runserver

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

source ~ / blog-venv / bin / activate

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


votre projet est créé en utilisant une ancienne version de django-admin.py, plus ancienne que django1.3

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


Résolu!!!

Après avoir cherché des âges 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 extrait via svn
  • lors de l'exécution de python manage.py runserver dans le nouveau dossier, j'ai l'erreur d'importation
  • python manage.py runserver utilisé pour travailler dans le dossier d'origine (dont je validerais les modifications) jusqu'à ce que je l'ai supprimé

Solution

Supprimer tout le dossier nommé 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 à nouveau lancer le serveur!

Je n'ai aucune idée de pourquoi


python3 manage.py runserver

Vérifier la version de Python





pythonpath