web-dev-qa-db-ja.com

pythonソースコードファイルを監視し、保存時に再起動するにはどうすればよいですか?

pythonソースコードファイルを保存するとき、スクリプトを再実行したいのですが、このように機能するコマンドはありますか(nodeのnodemonのようなもの)?

16
bkinsey808

python watchdog/watchmedo( https://github.com/gorakhargosh/watchdog )などのエコシステム内でこれを行う方法はおそらくありますが、 inotifywaitを使用したlinuxスクリプトオプション( https://linux.die.net/man/1/inotifywait )、私にとって、最も簡単な解決策は... nodemonを使用することでした!私がしたことnodemonのgithubタグラインが「node.jsアプリケーションの変更を監視し、サーバーを自動的に再起動する-開発に最適」であるにもかかわらず、実際にはnodemonは非常に汎用的なツールであり、.pyファイルを実行する必要があることを知っていますpythonたとえば。ここで魔法が起こると思う: https://github.com/remy/nodemon/blob/c1211876113732cbff78eb1ae10483eaaf77e5cf/lib/config/defaults.js =

最終的な結果は、以下のコマンドラインが完全に機能することです。わーい!

$ nodemon hello.py
[nodemon] starting `python hello.py`
35
bkinsey808

Nodemonをインストールして、ファイルの変更を監視できます。

例えば.

npm i -g nodemon

次に使用する:

nodemon --exec python3 hello.py 

これは、コマンドラインでpython3を使用する場合に使用します。 Windowsでは、代わりに「py」を使用することもできます。

14
Josh Dando

私が見つけたnodemonに最も類似した方法は、ウォッチドッグパッケージを使用することです:

pip install watchdog

これには、watchmedoというユーティリティが付属しています。

watchmedo Shell-command \
 --patterns="*.py" \
 --command='python "${watch_src_path}"' \
 .

.pyそして、ファイルを保存するたびに実行されます。

2
Jon Portella