使用pyISAPIie让Python在IIS 7中工作

在过去的几个小时里,我一直在试图让python在testing机器上工作。 该计算机正在运行带有IIS7(32位)的Server 2008 SP2。 除了ASP.Net,.Net可扩展性和ASP之外,我几乎都安装了angular色的所有服务。 我已经安装了python2.6并下载正确版本的pyISAPIie。 我按照下面的说明跟着我发现:

在IIS 7上安装

  1. 首先确保IIS实际安装(服务器pipe理器>>angular色>>添加Web服务器IIS)。 确保ISAPI扩展和ISAPI筛选器都被检查。

  2. 下载最新的PyISAPIe扩展。 确保你得到了你的Python版本的正确版本。 在这个例子中,我使用Python 2.5.4和PyISAPIe 1.1.0-rc4-Py2.5

  3. 在哪里放置文件需要一段时间才能解决..最后,它变得显而易见,他们可以放在任何地方! 我对我对包的理解感到困惑,并且认为我可以testing浏览器/ IIS之外的Python脚本。

最后,我在C:\ Python25中创build了一个名为PyISAPIe的新文件夹。 然后我复制到这个pyISAPIe.dll和HTTP文件夹。

  1. 接下来,您需要在IIS中设置处理程序。 我想所有以.py扩展名结尾的文件都由PyISAPIe DLL来处理,所以我做了以下操作:

    在网站下添加一个新的应用程序(我使用的名称/应用程序)select网站,然后select“处理程序映射”右键单击并select“添加脚本映射”设置“请求path”为* .py设置“可执行文件”到“C:\ Python25 \ PyISAPIe \ PyISAPIe.dll给请求处理程序一个相关的名字,例如”请求限制“部分中的”PyISAPIe“,我设置我的处理程序只在请求包含服务器上存在的.py文件时运行。 我设置它处理所有动词(GET和POST),并给它脚本访问。 在“动作”面板中select“查看有序列表”,查看处理程序将应用于请求的顺序。 确保您的.py处理程序比默认的StaticFile处理程序具有更高的优先级,否则它将无法处理任何事情。 如果您的自定义处理程序失败,则StaticFile处理程序也可能会处理请求,因为默认情况下,PyISAPIe会在发生错误时移动到下一个处理程序。

然后它说创build下面的testing脚本:(test.py)从Http import * def Request():Header(“Content-type:text / html”)Write(“Hello,World!”)

当我浏览到“ http://localhost/test.py ”我得到以下错误:HTTP错误500.0 – 内部服务器错误

您正在查找的资源存在问题,因此无法显示。

详细的错误信息

模块:IsapiModule通知:ExecuteRequestHandler处理程序:Python错误代码:0x8007007e请求的URL: http:// localhost:80 / test.py物理path:C:\ inetpub \ test \ test.pylogin方法:匿名login用户:匿名

任何人有任何想法如何解决这个问题?