Question de déploiement de Django newbie - ImportError: Impossible d'importer les paramètres 'paramètres'
L'app fonctionne très bien à l'aide de django interne du serveur, cependant quand j'utilise apache + mod_python j'obtiens l'erreur ci-dessous
File "/usr/local/lib/python2.6/dist-packages/django/conf/__init__.py", line 75, in __init__
raise ImportError, "Could not import settings '%s' (Is it on sys.path? Does it have syntax errors?): %s" % (self.SETTINGS_MODULE, e)
ImportError: Could not import settings 'settings' (Is it on sys.path? Does it have syntax errors?): No module named settings
Voici les informations nécessaires
1) Projet de répertoire: /root/djangoprojects/monsite
2) liste de répertoire /root/djangoprojects/monsite
ls -ltr
total 28
-rw-r--r-- 1 root root 546 Aug 1 08:34 manage.py
-rw-r--r-- 1 root root 0 Aug 1 08:34 __init__.py
-rw-r--r-- 1 root root 136 Aug 1 08:35 __init__.pyc
-rw-r--r-- 1 root root 2773 Aug 1 08:39 settings.py
-rw-r--r-- 1 root root 1660 Aug 1 08:53 settings.pyc
drwxr-xr-x 2 root root 4096 Aug 1 09:04 polls
-rw-r--r-- 1 root root 581 Aug 1 10:06 urls.py
-rw-r--r-- 1 root root 314 Aug 1 10:07 urls.pyc
3) répertoire App : /root/djangoprojects/monsite/sondages
4) liste de répertoire /root/djangoprojects/monsite/sondages
ls -ltr
total 20
-rw-r--r-- 1 root root 514 Aug 1 08:53 tests.py
-rw-r--r-- 1 root root 57 Aug 1 08:53 models.py
-rw-r--r-- 1 root root 0 Aug 1 08:53 __init__.py
-rw-r--r-- 1 root root 128 Aug 1 09:02 views.py
-rw-r--r-- 1 root root 375 Aug 1 09:04 views.pyc
-rw-r--r-- 1 root root 132 Aug 1 09:04 __init__.pyc
5) n'importe où dans le système de fichiers en cours d'exécution import django interpréteur python fonctionne très bien
6) contenu de httpd.conf
<Location "/mysite">
SetHandler python-program
PythonHandler django.core.handlers.modpython
SetEnv DJANGO_SETTINGS_MODULE settings
PythonOption django.root /mysite
PythonPath "['/root/djangoprojects/', '/root/djangoprojects/mysite','/root/djangoprojects/mysite/polls', '/var/www'] + sys.path"
PythonDebug On
</Location>
7) variable PYTHONPATH est fixé à
echo $PYTHONPATH
/root/djangoprojects/mysite
8) DJANGO_SETTINGS_MODULE est fixé à
echo $DJANGO_SETTINGS_MODULE
mysite.settings
9) contenu de sys.chemin d'accès est
import sys
>>> sys.path
['', '/root/djangoprojects/mysite', '/usr/lib/python2.6', '/usr/lib/python2.6/plat-linux2', '/usr/lib/python2.6/lib-tk', '/usr/lib/python2.6/lib-old', '/usr/lib/python2.6/lib-dynload', '/usr/lib/python2.6/dist-packages', '/usr/local/lib/python2.6/dist-packages']
Comment puis-je ajouter des paramètres de localisation pour sys.chemin tel qu'il persistants à travers des sessions ?
J'ai lu je ne sais combien de post avec des personnes ayant le même problème et j'ai essayé beaucoup de choses complètement beats moi ce que je dois faire.
À la recherche de l'aide.
Merci d'avance
Ankur Gupta
source d'informationauteur Ankur Gupta
Vous devez vous connecter pour publier un commentaire.
Votre configuration d'apache devrait ressembler à ceci:
Noter que la seule différence est le "monsite.les paramètres". N'oubliez pas de redémarrer apache une fois que la configuration a changé (apache2ctl redémarrez-le). Voir http://docs.djangoproject.com/en/dev/howto/deployment/modpython/ pour plus d'info.
Essayez de changer les suivantes:
Utilisez pas de "/" à la fin de la PythonPath entrées (qui peut être un problème, j'ai eu des problèmes avec ça, au moins sur Windows).
Les entrées '/root/djangoprojects/monsite",'/root/djangoprojects/monsite/sondages " ne sont pas nécessaires puisque vous serez en se référant à vos modules votre nom complet (c'est à dire monsite.sttings signifie que les paramètres du module à l'intérieur de la monsite paquet, qui est la bonne manière d'y accéder dans le PythonPath /root/djangoprojects).