2009-10-29 7 views
0
import sys 
sys.path.append('/home/myuser/svn-repos/myproject') 
from myproject.settings import * 

Mais, il dit que le module n'a pas été trouvé lorsque j'ai exécuté le script? A ce propos, settings.py a été configuré et manage.py syncdb fonctionne.Pourquoi Python ne trouve-t-il pas mon chemin? (django)

Répondre

3

Vous souhaitez plutôt utiliser sys.path.append('/home/myuser/svn-repos'). Ensuite, quand vous import myproject, il regarde svn-repos pour le dossier myproject, et regarde cela pour settings.

Sinon, laissez-le tel quel et juste import settings. C'est moins bon parce que c'est moins spécifique et vous pouvez finir par importer autre chose que ce que vous avez l'intention de faire.

Vous pouvez également considérer sys.path.insert(0, 'yourpath') car python commence au début de cette dict et fonctionne à rebours, donc tout ce que vous mettez à l'avant est prioritaire, résoudre le problème settings mentionné ci-dessus.

1

Essayez:

import sys 
sys.path.append('/home/myuser/svn-repos/myproject') 
from settings import * 

Notez que

from settings import * 

rend difficile de découvrir d'où les variables importées viennent. Ce n'est pas une bonne pratique si vous pouvez l'éviter.

Questions connexes