2012-08-14 86 views
0

這聽起來很奇怪,但我似乎無法在任何地方找到一個例子.. 我試圖通過CGI在本地運行腳本,但我試圖通過py2exe運行它作爲.exe 。與py2exe運行CGI

所以這個想法是,你點擊可執行文件,CGI從本地啓動,腳本運行時不需要在機器上安裝任何python,你可以在瀏覽器中啓動本地網站,腳本生成網頁。

這樣我就可以得到所有這些東西安裝在我的機器上工作與Python,和我創建了進口CGI腳本我創建啓動CGI和進口,我想顯示的python腳本,我可以看到編譯腳本兩者都在它創建的dist中。但從這裏我不知道要去哪裏,因爲通常我會通過本地主機ping cgi-bin/script.py文件夾,它會顯示在我的瀏覽器中。

我的問題: CGI和腳本可以在本地運行並顯示爲可執行文件,而不需要在機器上安裝python。 和創建bdist.win32的額外構建文件是否需要以某種方式調用?

我假設有一個地方在主程序我應該'顯示'通過HTML腳本但不太確定在哪裏做? 我得到'cgi腳本不是純文件('//')錯誤..不知道那個。

讚賞任何幫助,THX

回答

0

我部分地通過導入網頁瀏覽器,然後用

webbrowser.open_new('http://localhost:8086') #proper url here 

開擴的本地URL解決了這個但這恰恰CGI是什麼驅使我瘋了。出於某種原因,當瀏覽到python腳本時,它不會執行 - 即使原始python腳本正確定義了cgi_directories(他們使用python腳本),我也只是獲取代碼。至少我希望這會有所幫助。以下是整個腳本:

#!/usr/bin/env python 

import webbrowser 
import BaseHTTPServer 
import CGIHTTPServer 

server = BaseHTTPServer.HTTPServer 
handler = CGIHTTPServer.CGIHTTPRequestHandler 
server_address = ("", 8008) 
handler.cgi_directories = ["/cgi"] 
httpd = server(server_address, handler) 
webbrowser.open_new("http://localhost:8008/cgi/script.py"); 
httpd.serve_forever()