在 IIS6.0 中配置 Python3.0 Web 运行环境

来源:互联网 发布:淘宝如何做买家秀 编辑:程序博客网 时间:2024/05/16 00:25

    对于用 Windows2003 Server 服务器,想在 IIS 下尝鲜 Python 的朋友,可以遵照以下步骤配置(以最新的Python3.0为例):

    不像 PHP,可以有 ISAPI 和 CGI 两种配置方法,Python 目前只能配置为以 CGI 方式与 IIS 进行集成。

    1.打开 IIS6 配置界面
    2.在“Web 服务扩展”点右键,选择“添加一个新的Web服务扩展”。在打开的对话框中填入扩展名(可以任意),然后点击要求的文件栏的“添加”按钮,找到你Python的安装目录,选中python.exe,然后按下面格式填写:
    C:/Python30/python.exe %s %s(我的Python装在了C:/Python30),不要遗漏后面的 %s %s, 并注意空格。
    新添加的 web 扩展默认是“允许”的。
    注意:本步也可以用打开“所有未知CGI扩展”的“允许”开关来实现,但因为开放了所有“未知CGI扩展”,所以是很不安全的。
    3.点击“确定”完成这个步骤。

    4.配置python页面的扩展名映射。这一步的意思是说当用户请求某个特定扩展名的网页时,IIS用什么去解释这个网页.
    5.点击“网站”,找到你要执行Python页面的那个网站,点右键,点“属性”。
    6.在打开的对话框中选中“主目录”,点击“配置”按钮。
    7.在打开的“应用程序配置”对话框,“应用程序扩展”栏目下,点击“添加”按钮。
    8.弹出“添加/编辑应用程序扩展名映射”对话框。
    9.像上述一样找到你的python.exe文件,然后按照以下格式填到“可执行文件”文本框中:
        "C:/Python30/python.exe" %s %s
      注意可执行文件路径要加引号。
    10.在“扩展名”栏填入想要使用的扩展名,一般是 .py。
    11.在“动作”里填入想要允许用户执行的操作,比如GET等,一般可以选“全部动作”。
    12.点击“确定”完成本步。

    测试:
    接下来就试验下吧。编写一个index.py文件:

    print ('Status: 200 OK')
    print ('Content-Type: text/html')
    print ('')
    print ('<html><head><title>Hello Python3.0</title></head>')
    print ('<body>')
    print ('<h1>Hello, Python3.0!</h1>')
    print ('<H1>This is a Topic</H1><br>')
    print ('<p>this is a comment<br>')
    print ('See this is just like most other HTML')
    print ('</body>')
    print ('</html>')

    在浏览器里输入网址,网址根据你的Web环境具体确定,例如 http://localhost/index.py,打开该页面,应该显示:

    Hello, Python3.0!
    This is a Topic
    this is a comment
    See this is just like most other HTML

    可能存在的问题:

    1.找不到网页
    这个错误的发生是因为遗漏了配置CGI扩展的步骤。
    2.CGI Error
    出现错误:The specified CGI application misbehaved by not returning a complete set of HTTP headers.
    这个错误的原因,最可能的是,忘记了每个Python网页在开始输出 Html 代码前,都需要用 print('') 输出一个空行。
    另一个原因是 Python 脚本存在语法错误,需仔细检查。
    注意,Python 3.0 里已经不允许
        print 'string...'
    这样的语句了,因为 print 现在已经是一个函数,必须写成
        print ('string...')
    3.python.exe 文件必须给 Internet 用户(用户名形如 IUSR_....)加上读取和执行的权限,不然会在浏览器端弹出个对话框,要求输入 Windows 的账户和密码。

    张庆(网眼) 2009-4-3
    来自“网眼视界”:http://blog.why100000.com
    “十万个为什么”电脑学习网:http://www.why100000.com
    CSDN博客:http://blog.csdn.net/zhangking

原创粉丝点击