Categories: Python

Pythonコマンドを実行する際の -m について

この記事では、Pythonコマンド を実行する際に記述されている -m について解説します。

Pythonコマンドを使うときに -m が記述されているのを見たことあると思います。例えば、pip を実行するときなんかに使われます。

python -m pip install パッケージ名

それでは、-m の意味と使うタイミングを解説します。

-m はオプションである!

-m は、ターミナルやコマンドプロンプトなどで Pythonコマンド を実行する際に使用するオプションの一種です。

このようなオプションは、インターフェイスオプション と呼ばれ、-m の他にも様々なものが用意されています。

気になる方は以下の記事で参照してください。

Linkインターフェイスオプション - コマンドラインと環境 — Python ドキュメント

-m の意味

-m は、Pythonのモジュールやパッケージを実行するためのオプションです。

python -m <module-name>

上記のように実行することで指定された <module-name> のモジュールを sys.path から検索し、__main__ モジュールとして実行します。

例えば、test.py というモジュールを実行したい場合は 以下のようにします。

python -m test

モジュール名には、拡張子(.py)を付けないように注意してください。

-m の使い所

sys.path からモジュールを検索できて何が嬉しいかというと、標準ライブラリなどを実行する際にいちいち長ったらしいパスを指定せずに、モジュール名のみで実行できることです。

例えば、zipfileモジュール では、-c コマンドオプションを指定し、その後ろに zipファイル、ソースを指定することで指定した zipファイル にソースをまとめることができます。

python3 -m zipfile -c test.zip main.py module.py

上記サンプルでは test.zip に main.py と module.py をまとめることができます。

これを -m を使わずに実行しようとすると zipfileモジュール が格納されているパスを指定しなければならないのでとてもめんどくさい。

python3 /Users/ユーザー名/.pyenv/versions/3.10.0/lib/python3.10/zipfile.py -c test.zip main.py module.py 

それを省略できるようにしたのが -mオプションです。

まとめ

この記事では、Pythonコマンド を実行する際に -m について解説しました。

-m は、Pythonコマンドのオプションで標準ライブラリなどを実行するときに楽 ということだけ覚えておきましょう!

自作モジュールをコマンドとして扱う方法は別記事で紹介します。

それでは今回の内容はここまでです。ではまたどこかで〜( ・∀・)ノ

ゆうまる

独学でプログラミングを勉強しているおじさん。いろんな言語を勉強したが浅く広くなためあまり仕事につながらない。また忘れっぽいため自分のブログを備忘録としても使っている。産まれてこのかたずっとネコを飼ってる生粋のネコ派。最近お腹が出てきて筋トレに奮闘中!

Recent Posts

【Dart】コンストラクタのデフォルト引数について

Dartのコンストラクタのデフォルト引数…

2週間 ago

【Unity】有料アセットを無料で手に入れる方法

この記事では、Unityの有料アセットを…

4か月 ago

【Python】任意の秒数だけ処理を一時停止する方法【sleep()関数】

この記事では、Pythonで任意の秒数だ…

1年 ago

【Python】Wordの文書の新規作成と読み書き

この記事では、Pythonを使ってWor…

1年 ago

【Python】メタクラスって結局なんなの?

この記事では、Pythonのメタクラスに…

1年 ago