2009-04-13 8 views
2

j'ai exporté le chemin de mon projet django parImpossible de démarrer un serveur django dans mon ordinateur

$ export DJANGO_SETTINGS_MODULE=/Users/masi/Documents/Test/djangobook/ch3.settings 

Je cours sans succès

$ django-admin.py runserver 
Error: Could not import settings '/Users/masi/Documents/Test/djangobook/ch3.settings' (Is it on sys.path? Does it have syntax errors?): Import by filename is not supported. 

Comment pouvez-vous démarrer le serveur Django sans le message d'erreur?

Répondre

3

Votre $DJANGO_SETTINGS_MODULE doit simplement être défini sur ch3.settings. Assurez-vous simplement que l'application ch3 est également dans votre $PYTHONPATH.

Par exemple, si votre application est à /Users/masi/Documents/Test/djangobook/, puis mis $DJANGO_SETTINGS_MODULE-ch3.settings, et assurez-vous que votre $PYTHONPATH comprend /Users/masi/Documents/Test/djangobook.

$ export PYTHONPATH=/Users/masi/Documents/Test/djangobook/ 
$ export DJANGO_SETTINGS_MODULE=ch3.settings 
+0

@mipadi: J'ai essayé de rendre les PATH permanents sans succès en mettant les codes dans mon .bashrc. J'ai essayé le code avec et sans '' pour le PATH. –

+0

Si vous utilisez OS X, notez que la variable PATH doit être définie dans ~/.bash_profile –

+0

@Jarret: Merci! Le problème est maintenant résolu. J'ai eu une faute de frappe dans mon PATH. –

0

Vous pouvez également essayer manage.py.

À partir de votre répertoire de projet, exécutez

$ python manage.py runserver

Bien que ce soit juste un emballage, manage.py travaille toujours pour moi tout django-admin.py ne fonctionne pas. Évidemment, nous faisons tous les deux quelque chose de mal (je viens juste de commencer avec Django), mais cela devrait vous aider au moins.

1

Des django docs django-admin.py and manage.py:

django-admin.py est l'utilitaire de ligne de commande de Django pour les tâches administratives.

En outre, manage.py est automatiquement créé dans chaque projet Django. manage.py est une enveloppe mince autour django-admin.py qui prend soin de deux choses pour vous avant de déléguer à django-admin.py:

  • Il met le paquet de votre projet sur sys.path.
  • Il définit la variable d'environnement DJANGO_SETTINGS_MODULE afin qu'elle pointe vers le fichier settings.py de votre projet.

Généralement, lorsque vous travaillez sur un seul projet Django, il est plus facile d'utiliser la gestion.py

Donc, si la structure de votre répertoire ressemble:

djangobook/ 
    ch3/ 
     settings.py 

Effectuez les opérations suivantes et vous pouvez ignorer toutes les variables d'environnement DJANGO (sauf si vous avez une installation vraiment bizarre):

$ cd /Users/masi/Documents/Test/djangobook/ch3/ 
$ python manage.py runserver 
+0

Je reçois le message d'erreur suivant http://dpaste.com/32840/ –

+0

On dirait que le python que vous utilisez n'a pas de django dans ses paquets de site ou son chemin. Combien de copies de python avez-vous installées sur votre système? Que se passe-t-il si vous changez dans le répertoire ch3 /, lancez l'interpréteur python (type: python) et tapez 'import django'? –

+0

@Jarret: Je n'ai qu'un seul Python. J'ai la même erreur, http://dpaste.com/32875/ –

1

Pour ceux qui rencontrent la même erreur, lorsque vous essayez d'exécuter quelque chose de similaire:

python manage.py runserver --settings=settings_dev 

Lorsque le fichier de paramètres est dans un répertoire d'applications, comme ceci:

mysite/ 
    settings.py 
    settings_dev.py 
requirements.txt 
manage.py 

Vous ne devez pas spécifier $PYTHONPATH (au moins quatre ans sur) il vous suffit de vous assurer que votre valeur --settings contient la nom du dossier — vous devez également utiliser la notation par points, les barres obliques ne le feront pas.

python manage.py runserver --settings=mysite.settings_dev 

Il est la même histoire lors de l'exportation d'une valeur $DJANGO_SETTINGS_MODULE:

export DJANGO_SETTINGS_MODULE=mysite.settings_dev 

pourrait sauver quelqu'un d'autre le temps que je perdais travail cela.

Questions connexes