Aplikacja działa poprawnie przy użyciu serwera wewnętrznego django jednak kiedy używać apache + mod_pythona otrzymuję poniżej błądDjango rozmieszczania początkujących pytanie - ImportError: Nie można zaimportować ustawienia „Ustawienia”
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
Oto potrzebne informacje
1) directory Project:/root/djangoprojects/mojawitryna
2) zawartość katalogu z/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) katalog aplikacji:/root/djangoprojects/mysite/polls
4) katalog wykaz/root/djangoprojects/mysite/polls
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) Gdziekolwiek w django import plików działa w interpreter Pythona działa dobrze
6) zawartość 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) zmienna PYTHONPATH jest ustawiony na
echo $PYTHONPATH
/root/djangoprojects/mysite
8) DJANGO_SETTINGS_MODULE jest ustawiony na
echo $DJANGO_SETTINGS_MODULE
mysite.settings
9) treść sys.path jest
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']
Jak zrobić Czy dodaję lokalizację ustawień do sys.path, tak aby była trwała w sesjach?
Przeczytałem wiele postów z osobami, które mają ten sam problem, a ja próbowałem dużo całkowicie mnie bije co do tego, co muszę zrobić.
Szukasz pomocy.
Dzięki z góry Ankur Gupta
dokonał zmiany wzmiance więc teraz wydaje się, SetHandler python-Program PythonHandler django.core.handlers.modpython SetEnv DJANGO_SETTINGS_MODULE mysite.settings PythonOption django.root/mojawitryna PYTHONPATH "[ '/ root/djangoprojects /', '/ root/djangoprojects/mojawitryna', '/ root/djangoprojects/mysite/polls', '/ var/www'] + sys.path" PythonDebug Na dla restartu zrobiłem następujący /etc/init.d/apache2 restart sti Nie mam szczęścia. /etc/init.d/apache2 restart –
dokonał zmiany ustawień na mysite.settings wciąż ten sam błąd. –
może długi PythonPath myli mod_python. Wypróbuj właśnie PythonPath "['/ root/djangoprojects /'] + sys.path" Upewnij się również, że Apache ma prawo do odczytu pliku ustawień (uprawnienia do odczytu dla innych) i całej ścieżki do pliku (przeczytaj i wykonaj zezwolenie dla innych na/root,/root/djangoprojects i/root/djangoprojects/mysite). Choć byłoby lepiej przenieść cały projekt do lokalizacji poza/root, w końcu nie powinno tam być. –