La aplicación se ejecuta muy bien usar servidor interno Django sin embargo cuando utilizo + mod_python apache, recibo el error abajoDjango despliegue novato pregunta - ImportError: No se pudo importar la configuración 'configuración'
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
aquí está la información necesaria
1) directorio del proyecto:/root/djangoprojects/mysite
2) lista de directorios de/root/djangoprojects/mysite
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) directorio de la aplicación:/root/djangoprojects/proyecto/encuestas
4) lista de directorios de/root/djangoprojects/proyecto/encuestas
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) en cualquier parte del sistema de archivos de importación Django ejecuta en intérprete de Python funciona bien
6) el contenido 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) variables PYTHONPATH se establece en
echo $PYTHONPATH
/root/djangoprojects/mysite
8) DJANGO_SETTINGS_MODULE se establece en
echo $DJANGO_SETTINGS_MODULE
mysite.settings
9) el contenido de sys.path es
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']
Cómo hacer Agregué la ubicación de las configuraciones a sys.path para que sea persistente en todas las sesiones?
He leído un montón de publicaciones con personas que tienen el mismo problema y lo he intentado mucho, lo que realmente me gana es lo que debo hacer.
Buscando ayuda.
Gracias de antemano Ankur Gupta
hizo el cambio que usted ha mencionado por lo que ahora aparece como SetHandler pitón-programa PythonHandler django.core.handlers.modpython SetEnv DJANGO_SETTINGS_MODULE mysite.settings PythonOption django.root/mysite PYTHONPATH "[ '/ root/djangoprojects /', '/ root/djangoprojects/mysite', '/ root/djangoprojects/proyecto/encuestas', '/ var/www'] + sys.path" PythonDebug En para reiniciar, hice lo siguiente /etc/init.d/apache2 restart sti no hay suerte /etc/init.d/apache2 restart –
hizo que el cambio de configuración a mysite.settings sigue siendo el mismo error. –
tal vez el largo PythonPath confunde a mod_python. Intente simplemente tener PythonPath "['/ root/djangoprojects /'] + sys.path" Además, asegúrese de que Apache tenga derecho a leer el archivo de configuración (permiso de lectura para otros) y toda la ruta hasta el archivo (leer y ejecuta el permiso para otros en/root,/root/djangoprojects y/root/djangoprojects/mysite). Aunque sería mejor mover todo el proyecto a una ubicación externa/raíz, después de todo, no debería estar allí. –