ImportError: No module named ekz.settings wsgi+apache
ImportError: No module named ekz.settings wsgi+apache
我已经遇到了两天的问题,但我找不到任何有效的答案。
我有一个名为 "ekz" 的项目和一个名为 "welcome" 的应用程序,我需要使用 apache+wsgi 执行该项目(我正在处理 osx yosemite)。当我 运行 项目使用 "manage.py runserver" 它工作正常 ,但是当我 运行 它使用 apache它给了我 error "No module named ekz.settings" 这是来自 apache 日志的完整跟踪:
mod_wsgi (pid=29210): Target WSGI script '/Users/s2labs/Desktop/ekz/ekz/wsgi.py' cannot be loaded as Python module.
mod_wsgi (pid=29210): Exception occurred processing WSGI script '/Users/s2labs/Desktop/ekz/ekz/wsgi.py'.
Traceback (most recent call last):
File "/Users/s2labs/Desktop/ekz/ekz/wsgi.py", line 16, in <module>
application = get_wsgi_application()
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/django/core/wsgi.py", line 13, in get_wsgi_application
django.setup()
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/django/__init__.py", line 17, in setup
configure_logging(settings.LOGGING_CONFIG, settings.LOGGING)
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/django/conf/__init__.py", line 55, in __getattr__
self._setup(name)
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/django/conf/__init__.py", line 43, in _setup
self._wrapped = Settings(settings_module)
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/django/conf/__init__.py", line 99, in __init__
mod = importlib.import_module(self.SETTINGS_MODULE)
File "/usr/local/opt/python/Frameworks/Python.framework/Versions/2.7/lib/python2.7/importlib/__init__.py", line 37, in import_module
__import__(name)
ImportError: No module named ekz.settings
这里是 wsgi.py 文件,我没有修改它,它是我使用 pycharm 创建项目时创建的:
import os
from django.core.wsgi import get_wsgi_application
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "ekz.settings")
application = get_wsgi_application()
这里是 httpd.conf 文件的配置,我按照 docs 做的:
Alias /static/ /Users/s2labs/Desktop/ekz/welcome/static/
<Directory /Users/s2labs/Desktop/ekz/welcome/static>
Require all granted
</Directory>
WSGIScriptAlias / /Users/s2labs/Desktop/ekz/ekz/wsgi.py
WSGIPythonPath /Users/s2labs/Desktop/ekz:/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages
<Directory /Users/s2labs/Desktop/ekz/ekz>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
非常感谢任何帮助,谢谢。
我希望这对面临这个问题的人有所帮助。好吧,我所做的是为 python3 安装 wsgi 并让 apache 用户 (www-data) 成为我网站目录及其所有内容的所有者,它工作得很好。
我已经遇到了两天的问题,但我找不到任何有效的答案。
我有一个名为 "ekz" 的项目和一个名为 "welcome" 的应用程序,我需要使用 apache+wsgi 执行该项目(我正在处理 osx yosemite)。当我 运行 项目使用 "manage.py runserver" 它工作正常 ,但是当我 运行 它使用 apache它给了我 error "No module named ekz.settings" 这是来自 apache 日志的完整跟踪:
mod_wsgi (pid=29210): Target WSGI script '/Users/s2labs/Desktop/ekz/ekz/wsgi.py' cannot be loaded as Python module.
mod_wsgi (pid=29210): Exception occurred processing WSGI script '/Users/s2labs/Desktop/ekz/ekz/wsgi.py'.
Traceback (most recent call last):
File "/Users/s2labs/Desktop/ekz/ekz/wsgi.py", line 16, in <module>
application = get_wsgi_application()
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/django/core/wsgi.py", line 13, in get_wsgi_application
django.setup()
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/django/__init__.py", line 17, in setup
configure_logging(settings.LOGGING_CONFIG, settings.LOGGING)
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/django/conf/__init__.py", line 55, in __getattr__
self._setup(name)
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/django/conf/__init__.py", line 43, in _setup
self._wrapped = Settings(settings_module)
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/django/conf/__init__.py", line 99, in __init__
mod = importlib.import_module(self.SETTINGS_MODULE)
File "/usr/local/opt/python/Frameworks/Python.framework/Versions/2.7/lib/python2.7/importlib/__init__.py", line 37, in import_module
__import__(name)
ImportError: No module named ekz.settings
这里是 wsgi.py 文件,我没有修改它,它是我使用 pycharm 创建项目时创建的:
import os
from django.core.wsgi import get_wsgi_application
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "ekz.settings")
application = get_wsgi_application()
这里是 httpd.conf 文件的配置,我按照 docs 做的:
Alias /static/ /Users/s2labs/Desktop/ekz/welcome/static/
<Directory /Users/s2labs/Desktop/ekz/welcome/static>
Require all granted
</Directory>
WSGIScriptAlias / /Users/s2labs/Desktop/ekz/ekz/wsgi.py
WSGIPythonPath /Users/s2labs/Desktop/ekz:/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages
<Directory /Users/s2labs/Desktop/ekz/ekz>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
非常感谢任何帮助,谢谢。
我希望这对面临这个问题的人有所帮助。好吧,我所做的是为 python3 安装 wsgi 并让 apache 用户 (www-data) 成为我网站目录及其所有内容的所有者,它工作得很好。