18

ユーザーのために一連のpythonスクリプトを実行するために、ローカルWebサーバーを使用しようとしています。やむを得ないさまざまな理由により、python スクリプトはサーバーではなくローカルで実行する必要があります。その結果、フロント エンドの UI として、私が慣れている HTML + ブラウザーを使用します。

したがって、理想的には Windows サービスとして、マシンのバックグラウンドで Python スクリプトを実行できる軽量の Web サーバーを探していました。セキュリティと拡張性は、すべて小規模なネットワーク上で内部的に実行されているため、優先度は高くありません。

ネイティブ python Web サーバーを Windows サービスとして実行する必要がありますか (その場合、どのように)? それとも、ユーザーのマシンに Apache をインストールして CGI として実行するのと同じくらい簡単ですか? これはすべてローカルであるため、パフォーマンスも問題になりません。

それとも、明らかな何かが欠けていますか?

4

3 に答える 3

16

Windows サービスの作成に多くの時間を無駄にしないでください。

Windows Apache で多くの時間を無駄にしないでください。

HTTP リクエストに応答する Python サービスを作成するだけです。

バージョン 3 については、https://docs.python.org/2/library/basehttpserver.html https://docs.python.org/3/library/http.server.html を参照してください

Python は、拡張可能な HTTP サーバーを提供します。サーバー側のメソッドで。

http://docs.python.org/library/wsgiref.htmlを参照してください
。 Python は、サーバーを簡単にして標準に準拠させる WSGI 参照実装を提供します。

またhttp://fragments.turtlemeat.com/pythonwebserver.php


「ユーザーがコマンド プロンプトから python を実行するのを避けようとしています。」

Web ページをクリックすることと、デスクトップ アイコンをクリックすることの違いがわかりません。

Web サーバーがあれば、Python ベースの Web サーバーを開始するのは比較的簡単です。まず、サーバーを構築します。後で、サーバーが起動していることを確認できます。いくつかの方法を見てみましょう。

  1. ユーザーは、ランダムなブラウザーを使用してローカル ページを開くことはできません。「localhost:8000/myspecialserverinsteadofthedestop/」を起動するにはブックマークが必要です。そのブックマークは、(1) サーバーを実行し、(2) 適切な初期 URL で firefox を実行する .BAT ファイルにすることができます。

  2. サーバーをユーザーのスタートメニューに入れることができます。

  3. Python プログラムを Windows の「サービス」にすることができます。

于 2009-05-18T10:19:46.500 に答える
-1

Windows サービスとしてネイティブの Python Web サーバーを実行するのは簡単です。Python で Windows サービス (win32api、ActiveState python) を作成するためのドキュメントと、BaseHttpServer および SimpleHttpServer のサブクラス化に関するドキュメントを確認してください。

ところで:スタックオーバーフローで同様の質問がありました:BaseHTTPRequestHandlerサブクラスでBaseHTTPServer.serve_forever()を停止する方法は?

基本的に、BaseHTTPServer をサブクラス化します (とにかくする必要があります...) そして...しかし、受け入れられた回答を読むだけです - それは私を正しい軌道に乗せました!

于 2009-05-18T10:20:45.017 に答える