0

これは奇妙に聞こえるかもしれませんが、どこにも例が見つからないようです..ローカルで CGI 経由でスクリプトを実行しようとしていますが、py2exe 経由で .exe として実行しようとしています。

そのため、実行可能ファイルをクリックすると CGI がローカルで開始され、マシンに python をインストールしなくてもスクリプトが実行され、ブラウザでローカル Web サイトをプルアップでき、スクリプトが Web ページを生成するという考え方です。

したがって、Python がインストールされたマシンでこれらすべてを動作させることができます。CGI を開始するために作成した CGI スクリプトをインポートするスクリプトを作成し、表示したい Python スクリプトをインポートすると、両方のコンパイル済みバージョンが表示されます。それが作成する距離。しかし、ここからどこに行けばいいのかわかりません。通常は、ローカル ホスト経由で cgi-bin/script.py フォルダーに ping を実行すると、ブラウザーに表示されます。

私の質問: CGI とスクリプトをローカルで実行し、マシンに Python をインストールしなくても実行可能ファイルとして表示できますか。bdist.win32 が作成された追加のビルド ファイルは、何らかの方法で呼び出す必要がありますか?

メインプログラムのどこかにhtml経由でスクリプトを「表示」することになっていると思いますが、どこでそれを行うべきかよくわかりませんか? 「cgi スクリプトはプレーン ファイルではありません ('//')」というエラーが表示されます。よくわかりません。

助けていただければ幸いです、thx

4

1 に答える 1

0

これを部分的に解決するには、webbrowserをインポートしてからローカル URL を 開きます。

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

しかし、私を夢中にさせているのはまさに 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()
于 2012-08-24T14:34:52.563 に答える