我有PHP,dotNet的背景,并被Python迷住了.我想逐步将功能从PHP转换到Python,并排运行点点滴滴.在此过渡期间,自应用程序庞大以来可能需要2年时间,我将被绑定到IIS.我有15年的网络编程背景,包括在IIS上的ISAPI模块中的一些C工作,这是我不想再深入研究的工作.
似乎Python在IIS上运行不佳.我一直在努力使用FastCGI(不支持,仅适用于PHP)和PyIsapie
(记录错误,无法启动并运行).最后我得到了它并使用HeliconZoo dll运行但是:
我的下一个问题是:如何调试/开发网站?在PHP中,您安装了一个调试器,每当您的网站出现问题时,您只需调试它,设置断点,逐步执行代码,检查手表等.在我看来,对于开发人员或故障排除者来说,这是最基本的工作类型.我买了WingIDE这是一个很好的工具和调试器,但由于某种原因它无法挂钩到IIS进程中的Python实例,所以没有调试.我注意到Helicon启动了Python,-O
所以我甚至重新编译了Python以完全忽略这个标志,但我的调试器(WingIDE)不会出现.
我可以在半小时内在IIS上建立一个PHP"hello world"网站,包括下载时间.我想我已经花了大约120个小时或更长时间才能让Python工作无济于事.我已经购买了Python编程和学习Python,大约有3000页.我用Google搜索直到我掉线.
我认为Python是一种很棒的语言,但我正处于中止尝试的边缘.是否有人可以给我一个关于如何在IIS7上进行设置的分步说明?
Che*_*eso 129
我只是在5分钟内做到了这一点.
确保你有IIS.跑:%windir%\system32\OptionalFeatures.exe
.或者,通过尖头点击:开始...控制面板...程序和功能...(然后在左侧)打开或关闭Windows功能.确保在IIS节点下安装了CGI.
从python.org 下载Python for Windows.我抓住了Python2.7.如果您有x64版本的Windows,请确保获得x64版本.
解压缩并安装python MSI.选择默认值,将python放入其中c:\Python27
创建一个目录来保存"开发"python脚本.例如,c:\dev\python
设置目录中文件的权限c:\dev\python
以允许IIS读取和执行.通过从命令行运行这两个icacls.exe命令来执行此操作:
cd \dev\python
icacls . /grant "NT AUTHORITY\IUSR:(OI)(CI)(RX)"
icacls . /grant "Builtin\IIS_IUSRS:(OI)(CI)(RX)"
Run Code Online (Sandbox Code Playgroud)打开IIS管理器.%windir%\system32\inetsrv\iis.msc
通过控制面板运行或执行此操作:启动...控制面板...管理工具... Internet信息服务(IIS)管理器.创建一个新的应用程序 将虚拟路径指定为/py
,将物理路径指定为c:\dev\python
.
在该IIS应用程序中,为其添加脚本映射*.py
并将其映射到c:\python27\python.exe %s %s
c:\dev\python
使用此内容创建一个"HelloWorld.py"文件:
print('Content-Type: text/plain')
print('')
print('Hello, world!')
Run Code Online (Sandbox Code Playgroud)调用 http://localhost/py/helloworld.py
只需确保保存 cgi 脚本的目录路径不包含空格或 &。
我尝试了很多事情很多天,但没有任何效果,然后我改变了路径,它起作用了
更新:如果有空格,请在路径周围加上引号,但不要像%s %s
这样:
"C:\Program Files\Python36\python.exe" %s %s
say*_*yap -3
当您使用 Python 开发 Web 应用程序时,您不会使用 IIS/Apache 等。这些 Web 服务器仅用于部署。像 Pyramid/Pylons/Django 这样的框架都带有内置的 Web 服务器。Pyramid 尤其具有出色的文档,可以帮助您入门:http ://docs.pylonsproject.org/docs/pyramid.html
当您进行部署时,Linux + Apache 比 Windows + IIS 是更明智的选择。如果您绝对必须使用 Windows + IIS,请不要使用 isapi-wsgi,因为它存在幻象性能问题:http://groups.google.com/group/isapi_wsgi-dev/browse_thread/thread/9fade6efca6c5b89
PyISAPIe 对我来说已经足够好了,但我必须为 Python 2.7 编译我自己的 PyISAPIe.dll。
归档时间: |
|
查看次数: |
58238 次 |
最近记录: |