我正在关注Setting up mod_wsgi on WampServer的简单教程,所有运行正常,直到我尝试导入,我尝试搜索网络,但没有得到有效的解决方案,这是一个错误问题(可能不是)或肯定是配置问题?
如何在mod_wsgi中导入模块?
设置: windows8 64 / wampserver x64 bit / mod_wsgi x64bit
目录:
wsgi app的别名:{通过wamp创建别名选项在教程中创建}
WSGIScriptAlias /wsgi/ "c:/wamp/www/wsgi/wsgi.py"
<Directory "c:/wamp/www/wsgi/">
Options Indexes FollowSymLinks MultiViews
AllowOverride all
Order allow,deny
Allow from all
</Directory>
wsgi.py
from paste import httpserver
try :
p = sys.argv[1]
command = "from %(project)s import *" % {"project": p}
exec(command)
httpserver.serve(app, host='127.0.0.1', port='8080')
except :
print "Usage: python runner.py <main_package>"
sys.exit(0)
Apache的错误日志:
但是,如果我将上述代码更改为:
def application(environ, start_response):
status = '200 OK'
output = 'Hello World!'
response_headers = [('Content-type', 'text/plain'), ('Content-Length', str(len(output)))]
start_response(status, response_headers)
return [output]
打印输出。
选项尝试了wsgi.py:
import os, sys
sys.path.append("c:\\wamp\\www\\wsgi\\paste\\")
sys.path.append(os.path.dirname(__file__))
sys.path.append('c:/wamp/www/wsgi/')
sys.path.insert(0, 'c:/wamp/www/wsgi')
sys.path.insert(1, 'c:/wamp/www')
sys.path.insert(0, "c:/wamp/www/wsgi/wsgi.py")
sys.path.insert(0, "c:/wamp/www/wsgi/paste")
编辑:粘贴模块位于应用程序根目录中。
答案 0 :(得分:0)
你没有提到你已经将Python激活为Apache中的有效CGI。
这有用吗?&gt; Configure Apache to use Python
答案 1 :(得分:0)
尝试删除最终斜杠:
WSGIScriptAlias /wsgi "c:/wamp/www/wsgi/wsgi.py"
而不是:
WSGIScriptAlias /wsgi/ "c:/wamp/www/wsgi/wsgi.py"