update.タイトルを読んだ人は「そんなのPythonの標準ライブラリを使えばできるよ」かもしれません。それは仰る通りですが、同期処理かつシングルスレッド実装という欠点があるため大量の画像やリソースを読み込むようなユースケースによっては「もたつきすぎる」と感じることがあります。したWebサーバを導入できれば良いのですが、特殊な開発環境、デモ向け環境では手軽にApacheやNginxやpipライブラリを導入することができなかったりします。bottle.pyとwaitressにより、ApacheやNginxやpipライブラリを別途インストールすることなく動作可能なそこそこレスポンスの良いWebサーバを実現できます。以下のbottle.pyとwaitressを同梱する形でWebサーバを配布します。PythonのシンプルなWebフレームワークです。Pythonファイル1個で構成されています。今回利用するWebサーバ実装であるwaitressにも対応します。Pythonで実装されたマルチスレッドかつ非同期処理実装のWebサーバです。性能面ではC言語などで実装されたWebサーバには遠く及びませんが、Pythonの標準Webサーバと比較すればかなりレスポンス面で優れています。上記のWebサーバには以下のメリットがあります。Python2.7/3.5が入っている環境であれば動作する。(対象バージョンはもっと広いかも)マルチプラットフォームで動作する。項目に当てはまる人が対象です。Pythonに同梱されている標準Webサーバは遅すぎるため使いたくない。色々な環境(異なるマシン、異なるOS)で動かすため、Apache、Nginx、pipのサードパーティライブラリ等はインストールしたくない。補足:ちなみに「Pythonすら入れたくない」という場合は、Node.jsが組み込まれているElectronという選択肢もあります。Pythonだと配布する際に色々と頭を悩ましますが、JavaScript/Node.jsはこのあたりが大分楽なので羨ましいです。以下のディレクトリ構成をもつ資材を作成する手順を示します。(色々入るため省略)以下のシェルコマンドを実行することにより、必要なPythonライブラリのダウンロードおよび解凍が行われます。以下のソースコードを記述します。osモジュールを使用してlibs配下のPythonモジュールを参照できるようにPATH設定しています。bottle.pyのrun関数のserver引数にはserver="waitress"と指定してください。port=8080)これで準備完了です。Webサーバが稼働状態となります。Worldページが表示されます。server.pybottle.pyについてはQiitaに色々な記事があるので、そちらを参照してください。requestStockLike5@yoichiwo7秋葉原の某所でエンジニアとして働いてます。開発ワークフロー改善、およびKubernetes等のインフラ関連の技術にハマってます。upLoginユーザーは見つかりませんでした。