1

初めてdjango Webサイトをデプロイしようとしています。Django 1.5.1 を使用しています。チュートリアルに従いますが、apache でエラーが発生します。

[Fri Aug 02 19:48:03 2013] [error] [client 109.8.106.183] mod_wsgi (pid=10767): Exception occurred processing WSGI script '/var/www/html/portail_public/geocameroun/geocameroun/wsgi.py'.
[Fri Aug 02 19:48:03 2013] [error] [client 109.8.106.183] Traceback (most recent call last):
[Fri Aug 02 19:48:03 2013] [error] [client 109.8.106.183]   File "/usr/lib/python2.6/site-packages/django/core/handlers/wsgi.py", line 236, in __call__
[Fri Aug 02 19:48:03 2013] [error] [client 109.8.106.183]     self.load_middleware()
[Fri Aug 02 19:48:03 2013] [error] [client 109.8.106.183]   File "/usr/lib/python2.6/site-packages/django/core/handlers/base.py", line 45, in load_middleware
[Fri Aug 02 19:48:03 2013] [error] [client 109.8.106.183]     for middleware_path in settings.MIDDLEWARE_CLASSES:
[Fri Aug 02 19:48:03 2013] [error] [client 109.8.106.183]   File "/usr/lib/python2.6/site-packages/django/conf/__init__.py", line 53, in __getattr__
[Fri Aug 02 19:48:03 2013] [error] [client 109.8.106.183]     self._setup(name)
[Fri Aug 02 19:48:03 2013] [error] [client 109.8.106.183]   File "/usr/lib/python2.6/site-packages/django/conf/__init__.py", line 48, in _setup
[Fri Aug 02 19:48:03 2013] [error] [client 109.8.106.183]     self._wrapped = Settings(settings_module)
[Fri Aug 02 19:48:03 2013] [error] [client 109.8.106.183]   File "/usr/lib/python2.6/site-packages/django/conf/__init__.py", line 134, in __init__
[Fri Aug 02 19:48:03 2013] [error] [client 109.8.106.183]     raise ImportError("Could not import settings '%s' (Is it on sys.path?): %s" % (self.SETTINGS_MODULE, e))
[Fri Aug 02 19:48:03 2013] [error] [client 109.8.106.183] ImportError: Could not import settings 'geocameroun.settings' (Is it on sys.path?): No module named settings

このエラーは非常に頻繁に発生するようです。多くの回答がありますが、どれも問題を解決するか、何かわからないことがあります。

geocameroun.settings が sys.path にあるかどうかを確認するため、 geocameroun/wsgi.py を追加します。

print "path"
print sys.path

path = '/var/www/html/portail_public/geocameroun/'
if path not in sys.path:
    sys.path.insert(0, '/var/www/html/portail_public/geocameroun/')
path = '/var/www/html/portail_public/geocameroun/geocameroun'
if path not in sys.path:
    sys.path.insert(0, '/var/www/html/portail_public/geocameroun/geocameroun')
print sys.path

Apacheでは、これを取得します:

[Fri Aug 02 19:48:03 2013] [error] ['/var/www/html/portail_public/geocameroun/geocameroun', '/usr/lib/python2.6/site-packages/MapProxy-1.5.0-py2.6.egg', '/usr/lib/python2.6/site-packages/PyYAML-3.10-py2.6-linux-x86_64.egg', '/usr/lib64/python26.zip', '/usr/lib64/python2.6', '/usr/lib64/python2.6/plat-linux2', '/usr/lib64/python2.6/lib-tk', '/usr/lib64/python2.6/lib-old', '/usr/lib64/python2.6/lib-dynload', '/usr/lib64/python2.6/site-packages', '/usr/lib64/python2.6/site-packages/PIL', '/usr/lib/python2.6/site-packages', '/usr/lib/python2.6/site-packages/setuptools-0.6c11-py2.6.egg-info', '/var/www/html/portail_public/geocameroun']

大丈夫ですよね?settings.py は /var/www/html/portail_public/geocameroun/geocameroun/ にあります

私の wgsi.py で、次の 2 行を試しました。

#os.environ.setdefault("DJANGO_SETTINGS_MODULE", "geocameroun.settings")
os.environ["DJANGO_SETTINGS_MODULE"] = "geocameroun.settings"

開発用 Web サーバーについては、このフォルダー /var/www/html/portail_public では動作しません。

/geocameroun :Traceback (most recent call last):
  File "manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/usr/lib/python2.6/site-packages/django/core/management/__init__.py", line 453, in execute_from_command_line
    utility.execute()
  File "/usr/lib/python2.6/site-packages/django/core/management/__init__.py", line 392, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/usr/lib/python2.6/site-packages/django/core/management/__init__.py", line 263, in fetch_command
    app_name = get_commands()[subcommand]
  File "/usr/lib/python2.6/site-packages/django/core/management/__init__.py", line 109, in get_commands
    apps = settings.INSTALLED_APPS
  File "/usr/lib/python2.6/site-packages/django/conf/__init__.py", line 53, in __getattr__
    self._setup(name)
  File "/usr/lib/python2.6/site-packages/django/conf/__init__.py", line 48, in _setup
    self._wrapped = Settings(settings_module)
  File "/usr/lib/python2.6/site-packages/django/conf/__init__.py", line 134, in __init__
    raise ImportError("Could not import settings '%s' (Is it on sys.path?): %s" % (self.SETTINGS_MODULE, e))
ImportError: Could not import settings 'geocameroun.settings' (Is it on sys.path?): No module named settings

しかし、/home/etienne/geocameroun にある私の実際の開発バージョンでは動作します。よろしく

4

0 に答える 0