Iis 7 通过pyisapi在IIS7上部署web.py脚本时出现问题
我在IIS 7上通过部署单个文件API时遇到问题。我今天要谈谈这个问题 我已经成功地使用PyISAPIe在IIS7上部署了几个Django web应用程序。我用于Django站点的Iis 7 通过pyisapi在IIS7上部署web.py脚本时出现问题,iis-7,web.py,pyisapie,Iis 7,Web.py,Pyisapie,我在IIS 7上通过部署单个文件API时遇到问题。我今天要谈谈这个问题 我已经成功地使用PyISAPIe在IIS7上部署了几个Django web应用程序。我用于Django站点的Isapi.py模块与此类似: from django.core.handlers.wsgi import WSGIHandler as DjangoHandler from Http.WSGI import RunWSGI from Http import Env import os import sys sys.p
Isapi.py
模块与此类似:
from django.core.handlers.wsgi import WSGIHandler as DjangoHandler
from Http.WSGI import RunWSGI
from Http import Env
import os
import sys
sys.path.append(r"C:\projects\myproject")
os.environ["DJANGO_SETTINGS_MODULE"] = "myproject.settings"
Base = "/"
Exclude = ["/media"]
Handler = DjangoHandler()
def Request():
PathInfo = Env.PATH_INFO
return RunWSGI(Handler, Base=Base)
然而,由于不知道如何调整上述内容以用于我的web.py脚本,我从WSGI
示例Isapi.py
文件开始。添加后,我有以下文件:
from Http.WSGI import RunWSGI
from Http import Env
from md5 import md5
import imp
import os
import sys
sys.path.append(r"C:\projects\otherproject\")
SCRIPT_PATH = 'C:\projects\otherproject\device_api.py'
ScriptHandlers = {
"/": r"C:\projects\otherproject\device_api.py",
}
def RunScript(Path):
global ScriptHandlers
try:
return ScriptHandlers[Path]()
except KeyError:
Name = '__'+md5(Path).hexdigest().upper()
ScriptHandlers[Path] = \
imp.load_source(Name, Env.SCRIPT_TRANSLATED).Request
return ScriptHandlers[Path]()
Apps = {
# "/app/django/" : lambda P: RunWSGI(DjangoHandler()),
# "/app/trac/" : lambda P: RunWSGI(TracHandler),
"/" : lambda P: RunScript(P),
}
def Request():
Name = Env.SCRIPT_NAME
for App, Handler in Apps.items():
if Name.startswith(App):
return Handler(Name)
raise Exception, "Handler not found."
我确信有些事情我忽略了,或者明显做错了。当我尝试在浏览器上访问脚本时,我从IIS获得500响应,其中包含以下详细信息:
Could not initialize interpreter
Traceback (most recent call last):
File "C:\projects\pyisapie\Http\Isapi.py", line 29, in
from md5 import md5
File "C:\Python26\Lib\md5.py", line 8, in
DeprecationWarning, 2)
File "C:\Python26\Lib\warnings.py", line 29, in _show_warning
file.write(formatwarning(message, category, filename, lineno, line))
Exception: Not currently processing a request
虽然我仍然在玩不同的调整之类的游戏,但我不确定我需要做什么才能让它工作。在这方面的任何帮助都将不胜感激
谢谢你抽出时间
PS:我有一个脚本,
device\u api.py
,在Apache2下使用mod\u wsgi
部署,因此我确信脚本中的代码没有问题。经过几天的努力,我终于找到了解决方案。我详细地写了下来。我将提供一个链接到我的博客文章,我把它放在那里。它的名字是“”。我希望它能帮助那些面临类似问题的人
多谢各位