如今由於已經安裝了2.6的Python,以及支持2.6的Eric4,就不想再從新安裝2.5來繼續配置Apache下mod_python了。 html
後來發現了一篇文章Running Python as CGI in Apache in Windows
,講述以CGI模式代替mod_python來運行python script。還有這篇Python for Windows 。 python
作法是: 瀏覽器
打開httpd.conf,找到」#ScriptInterpreterSource Registry 「,移除前面的註釋#
(若是找不到這行,就本身添加進去)
找到「Options Indexes FollowSymLinks 」這句,在後面加上」ExecCGI
「。(那個」Indexes
「最好也能去掉,由於若是不去掉的話,目錄下面沒有index.html這種文件,就會顯示出目錄列表下的全部文件,因此有安全漏洞問題。若是去掉Indexes,並且沒有index.html文件的話,就會顯示一個Forbidden頁面)
找到」AddHandler cgi-script
.cgi 「,在後面加上 .py。若是沒有這句,能夠本身添加 「AddHandler cgi-script .py」
從新啓動Apache便可
(有的時候restart會致使Apache死掉,因此碰到這種狀況的人能夠stop先再start)
而後建立一個test.py script, 安全
print "Content-type: text/html"
print ""
print
"<html><head></head><body>"
print "Hello
World"
print "</body></html>"注意第二句print 「」不能少,若是沒有這句,會引發一個 「500
Internal Server Error」 錯誤。 this
在瀏覽器中運行http://localhost/test.py,Hello World兩個字被輸出後代表運行正常。 rest
另外,有些錯誤提示以下: server
沒有添加ScriptInterpreterSource Registry,會出現500 Internal Server Error
錯誤。
沒有添加ExecCGI,會出現403 Forbidden You don't have permission to access /test.py
on this server 。
沒有添加AddHandler cgi-script .py,那內容就會以text文本式樣顯示在瀏覽器中。
注
: htm
添加ScriptInterpreterSource
Registry的用意是讓Windows用Registry來找到Python的安裝地方。
ExecCGI是讓python
script能夠運行在任意目錄下面,由於Apache默認是讓cgi
script運行在cgi-bin目錄下。而我把test.py放到htdocs下運行就會出現403
Forbidden的問題。因此須要加上ExecCGI,這樣就能夠在htdocs下運行.py
script了。可是ExceCGI會有安全漏洞的問題。用FastCGI會安全一些。可是前提是須要安裝上FastCGI才能夠。
CGI模式比mod_python模式要慢。因此之後有機會在別的電腦上再試試mod_python模式吧。 ip