我在Windows 7家庭黄金版64位环境中收到此错误。 我尝试过很多不同的方法,如apache文档中所述。 在httpd.conf中我有以下内容 环境Python 3.4,apache 2.4.25 mod_wsgi py25 vc10 64位。此外,我曾试图运行Python代码 通过CGI,它工作正常。
LoadModule wsgi_module modules/mod_wsgi.so
WSGIPythonEggs /apache2423/Apache24/htdocs
WSGIScriptAlias /wsgi /apache2423/Apache24/htdocs/wsgi.py
WSGIPythonPath /Python34
<Directory /apache2423/Apache24/htdocs/>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
代码是:
#!/Python34/python
import os
import subprocess
os.environ['PYTHON_EGG_CACHE'] = '/Apache245/Apache24/htdocs'
def application(environ, start_response):
status = '200 OK'
output = b'<html> ... Hello World of Django ...</html>'
response_headers = [('Content-type', 'text/plain'), ('Content-Length', str(len(output)))]
start_response(status, response_headers)
return [output]
答案 0 :(得分:0)
假设mod_wsgi.so
文件在Apache模块目录中正确,请将Apache配置更改为:
LoadFile /Python34/DLLs/python3.dll
LoadModule wsgi_module modules/mod_wsgi.so
WSGIPythonHome /Python34
WSGIScriptAlias /wsgi /apache2423/Apache24/htdocs/wsgi.py
<Directory /apache2423/Apache24/htdocs/>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
确认:
/Python34/DLLs/python3.dll
确实存在。它应该是Python 3.4 DLL的位置。
假设您的Python 3.4安装在/Python34
。
LoadFile
行的要点是强制加载Python DLL。您获得的错误也可能意味着在任何标准位置都找不到mod_wsgi.so
引用的DLL。
WSGIPythonHome
告诉mod_wsgi Python安装的位置。请注意,它不是WSGIPythonPath
。
您用于访问该应用程序的网址为http://localhost/wsgi
。