「PythonでCLIツールを作りたい」
「Pythonのデバッグを効率的に行いたい」
「Pythonでバッチプログラムを綺麗にコーディングしたい」
このような場合には、Python Fireがオススメです。
この記事では、Python Fireについて解説しています。
本記事の内容
- Python Fireとは?
- Python Fireのシステム要件
- Python Fireのインストール
- Python Fireの動作確認
それでは、上記に沿って解説していきます。
Python Fireとは?
Python Fireは、コマンドラインインタフェース (CLI) を自動生成するためのライブラリです。
関数、クラスなどのPythonオブジェクトを対象にCLIを作成できます。
つまり、スクリプト内のクラスや関数をコマンドラインから呼び出せるということです。
このことにより、引数をフラグにして内部で分岐する必要がありません。
バッチプログラムなどは、かなりスッキリとなるはずです。
公式ページでは、次のような説明が記載されています。
Python Fireは、PythonでCLIを作成する簡単な方法です。 Python Fireは、Pythonコードの開発およびデバッグに役立つツールです。 Python Fireは、既存のコードを調査したり、他の人のコードをCLI化するのに役立ちます。 Python FireはBashとPythonの間の移行を容易にする。 Python Fire は、必要なモジュールと変数がすでにインポートされ作成された状態で REPL をセットアップすることで、Python REPL をより簡単に使用できるようにします。
CLIにすれば、デバッグも効率的にできそうです。
変数の値を変更して検証したい場合、わざわざコードを変更する必要がなくなります。
コマンドラインから、引数として渡せばいいだけですからね。
他にも様々な状況で、CLIにすることは役立ちそうです。
なお、Python FireはGoogle製のPythonライブラリになります。
その意味では、安心して利用できそうです。
以上、Python Fireについて説明しました。
次は、Python Fireのシステム要件を確認します。
Python Fireのシステム要件
現時点(2021年12月)でのPython Fireの最新バージョンは、0.4.0となります。
この最新バージョンは、2021年1月23日にリリースされています。
サポートOSに関しては、以下を含むクロスプラットフォーム対応です。
- Windows
- macOS
- Linux
そして、サポート対象となるPythonのバージョンは以下。
- Python 2.7
- Python 3.4
- Python 3.5
- Python 3.6
- Python 3.7
- Python 3.8
- Python 3.9
しかし、Python 3.7以降の利用をオススメします。
以下は、Python公式開発サイクルです。
バージョン | リリース日 | サポート期限 |
3.6 | 2016年12月23日 | 2021年12月23日 |
3.7 | 2018年6月27日 | 2023年6月27日 |
3.8 | 2019年10月14日 | 2024年10月 |
3.9 | 2020年10月5日 | 2025年10月 |
3.10 | 2021年10月4日 | 2026年10月 |
Python 2系は言うまでもなく、Python 3.6以下も利用しないほうがいいでしょう。
パッケージ依存でトラブルになりたくないなら、Python 3.7以降が無難です。
まとめると、Python Fireのシステム要件で注意すべき点はありません。
ただし、Pythonはサポート期限内のモノを利用しましょう。
以上、Python Fireのシステム要件を説明しました。
次は、Python Fireをインストールしていきましょう。
Python Fireのインストール
検証は、次のバージョンのPythonで行います。
$ python -V Python 3.9.9
まずは、現状のインストール済みパッケージを確認しておきます。
$ pip list Package Version ---------- ------- pip 21.3.1 setuptools 59.6.0 wheel 0.36.2
次にするべきことは、pipとsetuptoolsの更新です。
pipコマンドを使う場合、常に以下のコマンドを実行しておきましょう。
python -m pip install --upgrade pip setuptools
では、Python Fireのインストールです。
Python Fireのインストールは、以下のコマンドとなります。
pip install fire
インストールは、すぐに終わります。
では、どんなパッケージがインストールされたのかを確認しましょう。
$ pip list Package Version ---------- ------- fire 0.4.0 pip 21.3.1 setuptools 59.6.0 six 1.16.0 termcolor 1.1.0 wheel 0.36.2
sixは、Python 2と3の互換性ライブラリです。
Python公式開発サイクルに従っていれば、sixは不要なパッケージとなります。
他に依存するパッケージは、termcolorのみです。
その点から、Python Fireを既存環境へ導入することは容易と言えます。
以上、Python Fireのインストールを説明しました。
次は、Python Fireの動作確認を行います。
Python Fireの動作確認
Python Fireの動作確認を行います。
今回は、複数の関数をコマンドラインから呼び出せるようしてみましょう。
test.py
import fire def add(x, y): return x + y def multiply(x, y): return x * y if __name__ == '__main__': fire.Fire()
上記コードをtest.pyに保存します。
利用方法は、以下。
$ python test.py add 100 200 300 $ python test.py multiply 100 200 20000
簡単に利用できますね。
今回は、このように関数を呼び出すコードです。
すでに述べたように、関数以外も呼び出せます。
また、クラスを呼び分けることもできます。
公式のマニュアルに詳しく、その辺は記載されています。
それを参考にして、自分の使いやすい形を探してみてください。
以上、Python Fireの動作確認を説明しました。