Question

Clause de non-responsabilité:Je suis nouveau sur Python et Django mais j'ai une expérience en programmation Drupal.J'utilise Windows 7 (mêmes problèmes sous Windows XP)

Sur python 2.7 et Django-1.3.1, j'ai réussi à créer un projet par défaut

django-admin.py startproject djsite

Maintenant, je dois "bootstrap" djsite.manage comme expliqué ici (http://www.pyinstaller.org/wiki/Recipe/DjangoApplication) dans un fichier appelé bootstrap.py situé dans le répertoire parent de djsite comme suit :

import djsite.manage
djsite.manage.execute_manager(djsite.manage.settings,['manage.py', 'runserver'])

Pourtant, dès que le compilateur voit :

import djsite.manage

J'ai compris:"Erreur:Impossible de trouver le fichier « settings.py » dans le répertoire contenant « C:\Python27\Lib\site-packages\djsite\manage.pyc ».Il semble que vous ayez personnalisé les choses...Vous devrez exécuter django-admin.py en lui transmettant votre module de paramètres. " Et je ne sais pas comment suivre les conseils de l'erreur dans cette situation.

Cependant, si je publie plutôt ce qui suit dans bootstrap.py :

import os, sys
sys.path.append(os.path.abspath('djsite'))
import djsite.manage
djsite.manage.execute_manager(djsite.manage.settings,['manage.py', 'runserver'])

le script fonctionne correctement, mais il casse Pyinstaller (j'ai déjà posé cette question sur la liste de diffusion de ce logiciel (http://groups.google.com/group/pyinstaller/browse_thread/thread/174a72e26c26a44c).Même si j'ajoute le chemin d'accès au djsite dans ma variable PATH, j'obtiens la même erreur.

Donc ma question ici est la suivante :Pourquoi l'importation du module manage.py échoue-t-elle avec cette approche et comment puis-je procéder ?Merci!

Était-ce utile?

La solution

Essayez d'ajouter ceci à votre bootstrap.py pour l'informer de l'emplacement de votre fichier de paramètres :

import os
os.environ['DJANGO_SETTINGS_MODULE'] = 'djsite.settings'

Cela supposera que djsite se trouve dans votre chemin python.Autrement dit, s'il se trouve ici : /path/to/my/djsite, alors ceci devrait être dans votre chemin python : /path/to/my

En fait, la meilleure façon de procéder dès le début est d'utiliser environnement virtuel ce qui garantira que votre environnement est correct.J'ai l'impression que cela devait faire partie de votre tutoriel si je me souviens du bootstrap.Si vous utilisez virtualenv, n'oubliez pas de source bin/activate

Si cela ne fonctionne pas, vous pouvez essayer de modifier la commande runserver :

args = ['manage.py', 'runserver', '--settings=/path/to/my/djsite/settings.py']
djsite.manage.execute_manager(djsite.manage.settings, args)
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top