DJANGO_SETTINGS_MODULE est pas défini?
import os
from os.path import abspath, dirname
import sys
# Set up django
project_dir = abspath(dirname(dirname(__file__)))
sys.path.insert(0, project_dir)
os.environ["DJANGO_SETTINGS_MODULE"] = "mysite.settings"
Je l'ai fait, et je reçois toujours
Traceback (most recent call last):
File "main.py", line 4, in <module>
from django.middleware.csrf import get_token
File "/var/lib/system-webclient/system-webenv/lib/python2.6/site-packages/django/middleware/csrf.py", line 14, in <module>
from django.utils.cache import patch_vary_headers
File "/var/lib/system-webclient/system-webenv/lib/python2.6/site-packages/django/utils/cache.py", line 24, in <module>
from django.core.cache import cache
File "/var/lib/system-webclient/system-webenv/lib/python2.6/site-packages/django/core/cache/__init__.py", line 68, in <module>
cache = get_cache(settings.CACHE_BACKEND)
File "/var/lib/system-webclient/system-webenv/lib/python2.6/site-packages/django/utils/functional.py", line 276, in __getattr__
self._setup()
File "/var/lib/system-webclient/system-webenv/lib/python2.6/site-packages/django/conf/__init__.py", line 38, in _setup
raise ImportError("Settings cannot be imported, because environment variable %s is undefined." % ENVIRONMENT_VARIABLE)
ImportError: Settings cannot be imported, because environment variable DJANGO_SETTINGS_MODULE is undefined
C'était un petit script appelant certains django de fonctionnalités, mais il me dit problème de VARIABLE d'ENVIRONNEMENT.
Que puis-je faire? J'ai passé tout mon après-midi à la lecture de plusieurs posts....
Merci pour votre aide! C'était ma 1ère fois frapper.
Le traceback. Il ne donne pas d'élever notre manuel d'exception. C'est donner la même réserve que ci-dessus.
webclient/main.py
import os
from os.path import abspath, dirname
import sys
path = '/var/lib/graphyte-webclient/webclient'
if path not in sys.path:
sys.path.append(path)
sys.path.insert(0, path)
os.environ["DJANGO_SETTINGS_MODULE"] = "webclient.settings"
raise Exception("DJANGO_SETTINGS_MODULE = " + str(os.environ["DJANGO_SETTINGS_MODULE"]))
.... other things
Dans manage.py shell
>>> from webclient.settings import settings
Traceback (most recent call last):
File "<console>", line 1, in <module>
ImportError: cannot import name settings
>>> import webclient
>>> webclient
<module 'webclient' from '/var/lib/system-webclient/webclient/../webclient/__init__.pyc'>
>>> import webclient.settings
>>> webclient.settings
<module 'webclient.settings' from '/var/lib/system-webclient/webclient/../webclient/settings.pyc'>
webclient/deploy/pinax.fcgi
import os
import sys
from os.path import abspath, dirname, join
from site import addsitedir
sys.path.insert(0, abspath(join(dirname(__file__), "../../")))
from django.conf import settings
os.environ["DJANGO_SETTINGS_MODULE"] = "webclient.settings"
sys.path.insert(0, join(settings.PROJECT_ROOT, "apps"))
from django.core.servers.fastcgi import runfastcgi
runfastcgi(method="threaded", daemonize="false")
webclient/deploy/pinax.wcgi
import os
import sys
from os.path import abspath, dirname, join
from site import addsitedir
sys.path.insert(0, abspath(join(dirname(__file__), "../../")))
from django.conf import settings
os.environ["DJANGO_SETTINGS_MODULE"] = "webclient.settings"
#os.environ["SCRIPT_NAME"] = "/natrium"
sys.path.insert(0, join(settings.PROJECT_ROOT, "apps"))
from django.core.handlers.wsgi import WSGIHandler
application = WSGIHandler()
Avez-vous mis en place votre projet à l'aide de la
J'ai été courir ce pendant environ 1 an, donc je ne m'en souviens pas. Mais je ne vois pas de raison de ne pas au travers de la commande. Oh. C'est Pinax, par la manière. Il devrait donc être au travers de la commande.
django-admin.py startproject
de commande, ou manuellement?J'ai été courir ce pendant environ 1 an, donc je ne m'en souviens pas. Mais je ne vois pas de raison de ne pas au travers de la commande. Oh. C'est Pinax, par la manière. Il devrait donc être au travers de la commande.
OriginalL'auteur User007 | 2012-03-13
Vous devez vous connecter pour publier un commentaire.
Ajoutez à cela le top, on dirait que le chemin d'accès à votre fichier de paramètres n'est pas dans votre chemin d'accès au système:
Dans votre main.py, vous pouvez entrer l'Exception suivante et voir ce que le traceback montre? Est la variable d'environnement définie de manière appropriée?
raise Exception("DJANGO_SETTINGS_MODULE = " + str(os.environ["DJANGO_SETTINGS_MODULE"]))
Si elle dit:DJANGO_SETTINGS_MODULE = None
la variable d'environnement n'est pas définie, et nous avons à vérifier laos.environ["DJANGO_SETTINGS_MODULE"] = ...
est à la bonne place. Si elle dit:DJANGO_SETTINGS_MODULE = u"mysite.settings"
ensuite, nous aurons à étudier plus pourquoi il pense que la variable d'environnement n'est pas définie.Je vous remercie beaucoup. Il n'a pas élever notre manuel d'exception. J'ai inclus les scripts d'installation, il dit
webclient.settings.
j'ai aussi entré dans le shell pour importer lewebclient.settings
et il est là.Pour vérifier: changement
path = '/var/lib/graphyte-webclient/webclient/'
àpath = '/var/lib/graphyte-webclient/webclient'
sans le slash. Vérifiez qu'il existe un__init__.py
fichier dans /var/lib/graphyte-web client/client web, et de vérifier que la settings.py le fichier est là (vous souhaiterez peut-être supprimer les paramètres.pyc si elle existe). Vérifiez les autorisations sur tous ces fichiers que le python exécuteur testamentaire peut accéder. Pour le raise Exception(...), qui doit être après qu'il est défini dans le main.py pour le déplacer au-dessous de laos.environ['DJANGO_SETTINGS_MODULE'] = "webclient.settings"
ligne.Merci. J'ai vérifié et il n'a pas encore élever notre exception. J'ai édité mon code ci-dessus (main.py), et téléchargé une image. J'ai supprimé
settings.pyc
et__init__.pyc
et redémarrez le serveur, et il se charge en arrière. Doncpyc
est la dernière. Il n'a pas de travail.OriginalL'auteur Furbeenator
si vous utilisez django 1.6 +
le code ci-dessous devrait le faire pour vous
OriginalL'auteur Pawan Kumar