我正在 Webfaction 上设置实时服务器的开发版本,在本地计算机上的虚拟 Apache 服务器环境(运行没有任何错误)中运行 Django 应用程序 - XP,使用 Python 2.6 运行 XAMPP Lite - 我可以提交更改来自通过 Git。
XAMPP 已启动并可以与 Python 一起运行,并且服务器可以在加载 WSGI 模块的情况下完美启动。问题是,当我设置 Python 路径时,它们一半设置为 'nix 格式(带 /),一半设置为 Windows 格式(带反斜杠)。
这是本地机器 Apache 错误,显示损坏的 python 路径:
[Fri Oct 08 14:52:53 2010] [error] [client 127.0.0.1] mod_wsgi (pid=1436): Exception occurred processing WSGI script 'C:/SERVER/Python26/Lib/site-packages/website-cms/webapps/django/dev.wsgi'.
[Fri Oct 08 14:52:53 2010] [error] [client 127.0.0.1] Traceback (most recent call last):
[Fri Oct 08 14:52:53 2010] [error] [client 127.0.0.1] File "C:/SERVER/Python26/Lib/site-packages/website-cms/webapps/django/lib/python2.5\\django\\core\\handlers\\wsgi.py", line 230, in __call__
[Fri Oct 08 14:52:53 2010] [error] [client 127.0.0.1] self.load_middleware()
[Fri Oct 08 14:52:53 2010] [error] [client 127.0.0.1] File "C:/SERVER/Python26/Lib/site-packages/website-cms/webapps/django/lib/python2.5\\django\\core\\handlers\\base.py", line 42, in load_middleware
[Fri Oct 08 14:52:53 2010] [error] [client 127.0.0.1] raise exceptions.ImproperlyConfigured('Error importing middleware %s: "%s"' % (mw_module, e))
[Fri Oct 08 14:52:53 2010] [error] [client 127.0.0.1] ImproperlyConfigured: Error importing middleware cms.middleware.multilingual: "No module named cms.middleware.multilingual"
以及有问题的 .wsgi 文件内容:
import os, sys
sys.path.append('C:/SERVER/Python26/')
sys.path.append('C:/SERVER/Python26/Lib/site-packages/website-cms/webapps/django')
sys.path.append('C:/SERVER/Python26/Lib/site-packages/website-cms/webapps/django/lib/python2.5')
from django.core.handlers.wsgi import WSGIHandler
#Add the path to Django itself
os.environ['DJANGO_SETTINGS_MODULE'] = 'website.settings'
application = WSGIHandler()
Apache httpd.conf 是 XAMPP 的默认设置(而不是虚拟实例),添加以下内容来加载 wsgi 模块
LoadModule wsgi_module modules/mod_wsgi-win32-ap22py26-3.3.so
& 指向 wsgi 文件:
WSGIScriptAlias / C:/SERVER/Python26/Lib/site-packages/website-cms/webapps/django/dev.wsgi
我知道XAMPP服务器正在使用Python2.6(我被迫使用TortoiseGIT)并且生产是在2.5上(由网络主机强制执行),但这似乎不是罪魁祸首 - 我仍然期望至少能够设置正确的路径!
欢迎所有关于让 Python 路径发挥作用的建议!
我的电脑有Python 2.6,所以我将在假设Python 2.6是目标版本的情况下使用所有配置。