runpy
https://docs.python.org/ja/3/library/runpy.html
主な目的はファイルシステムではなく Python のモジュール名前空間を使って位置を特定したスクリプトの実行を可能にする -m コマンドラインスイッチを実装すること
例:python -m foo.bar
サンドボックスモジュール ではない
runpy 関数から戻った後で、実行されたコードによって定義された任意の関数およびクラスが正常に動作することは保証されません。
この制限が受け入れられないユースケースでは、 importlib がこのモジュールより適切な選択となるでしょう。
runpy.run_module
python -m
runpy.run_path
run_nameを渡すことでif __name__ == "__main__"も実行できる
python <script>
PEP 338 – Executing modules as scripts
PEP 366 – Main module explicit relative imports