34

これまでのところ、 Bottleをとても楽しんでいますが、コードを変更するたびにサーバーから CTRL+C を押して再起動しなければならないという事実は、私の生産性に大きな打撃を与えています。Watchdogを使用してファイルの変更を追跡し、サーバーを再起動することを考えましたが、bottle.run機能がブロックされているときにどうすればよいでしょうか。

ファイルの変更を監視する外部スクリプトからサーバーを実行するのは、セットアップが大変な作業のように思えます。これは、Bottle、CherryPy などの開発者にとって普遍的な問題だと思います。

問題を解決していただきありがとうございます。

4

4 に答える 4

51

チュートリアルの「自動リロード」セクションをチェックしてください。

開発中は、最近の変更をテストするためにサーバーを何度も再起動する必要があります。自動リローダーはこれを行うことができます。モジュール ファイルを編集するたびに、リローダーはサーバー プロセスを再起動し、コードの最新バージョンを読み込みます。

これにより、次の例が得られます。

from bottle import run
run(reloader=True)
于 2012-06-12T20:24:38.480 に答える
4

run(reloader=True)

インポートが定義内にある場合のように、リロードしない状況があります。私が使用したリロードを強制するには

subprocess.call(['touch', 'mainpgm.py'])

Linuxでは問題なくリロードされます。

于 2012-06-15T15:03:16.403 に答える