我有PHP、dotNet的背景,对Python很感兴趣。我想将功能从PHP逐步转到Python,并排运行。在这一过渡过程中,由于应用程序是巨大的,可能需要两年时间,在此期间,我一定要使用IIS。我有15年的网络编程背景,包括在IIS上的ISAPI模块中的一些C工作,这是我不想再深入研究的那种工作。
Python在IIS上运行得不太好。我一直在与FastCGI (不支持,仅针对PHP)和PyIsapie (文档严重,无法启动和运行)进行斗争。最后,我用一个HeliconZoo dll启动并运行了它,但是:
我的下一个问题是:如何调试/开发一个站点?在PHP中,您安装了调试器,每当您的网站出现问题时,您只需调试它、设置断点、执行代码、检查手表等等。在我看来,这是开发人员或疑难解答人员最基本的工作类型。我买了WingIDE,它是一个很好的工具和调试器,但是由于某种原因它不能连接到IIS进程中的Python实例,所以不能进行调试。我注意到Hel图标用-O启动Python,所以我甚至重新编译Python来完全忽略这个标志,但是我的调试器(WingIDE)不会出现。
我可以在IIS上建立一个PHP 'hello world‘网站,时间包括下载时间。我想我花了大约120个小时或更多的时间让它为Python工作,但没有用。我买了编程Python和学习Python,大约3000页。我一直在谷歌上搜索直到我放弃。
我认为Python是一种很好的语言,但我即将放弃我的尝试。有没有人能一步一步地给我一个关于如何在IIS7上设置它的指导?
发布于 2012-03-16 23:36:33
我只花了5分钟就完成了。
%windir%\system32\OptionalFeatures.exe。或者,通过尖锐的点击: Start...Control Panel...Programs和特征.(然后在左手边)打开或关闭Windows功能。确保在IIS节点下安装了CGI。
c:\Python27c:\dev\pythonc:\dev\python目录中文件的权限,以允许IIS读取和执行。通过从命令行运行这两个icacls.exe命令来做到这一点:
cd \dev\python icacls/grant "NT权威\IUSR:(OI)(CI)(RX)“icacls。/grant "Builtin\IIS_IUSRS:(OI)(CI)(RX)“%windir%\system32\inetsrv\iis.msc,或通过控制面板: Start...Control Panel...Administrative Tools...Internet Information Services (IIS)管理器执行此操作。创建一个新的应用程序。将虚拟路径指定为/py,物理路径指定为c:\dev\python。

*.py添加一个脚本映射,并将其映射到c:\python27\python.exe %s %s


c:\dev\python”文件,其内容如下:
打印(‘内容-类型:文本/普通’)打印(‘’)打印(‘你好,世界!’)http://localhost/py/helloworld.py发布于 2014-08-23 13:00:43
只需确保保存cgi脚本的目录的路径没有空格或&。
我尝试了很多东西很多天,但没有什么效果,然后我改变了道路,它成功了。
更新:如果它有空格,在路径周围加上引号,而不是像这样的%s %s:
"C:\Program Files\Python36\python.exe" %s %s
发布于 2021-12-07 11:25:43
由于这是一个相当老的问题与一些旧的答案(没有被接受的答案),这里有一个更最新的方法。下面的Microsoft有一个逐步通过IIS托管Python应用程序的指南(看起来它也适用于-尽管MS建议使用FastCGI (比CGI方法更好的2021年后的方法)。
TL;DR是:
https://stackoverflow.com/questions/6823316
复制相似问题