【Python】簡単にコマンドラインツールを作成する方法

【Python】簡単にコマンドラインツールを作成する方法 プログラミング

「Pythonで簡単にコマンドラインツールを作成したい」

このような場合には、Clickがオススメです。
この記事では、Clickについて解説しています。

本記事の内容

  • Clickとは?
  • Clickのシステム要件
  • Clickのインストール
  • Clickの動作確認

それでは、上記に沿って解説していきます。

Clickとは?

Clickとは、コマンドラインツールを作成するためのPythonライブラリです。
Clickを使えば、Pythonで簡単にコマンドラインツールを作成できます。

どれくらい簡単かと言うと、以下のコマンドを書くだけのレベルです。

このコードだけで、次のような入力を待つ動きを実現できています。
(※わかりにくいですが、実際に実行したらわかります)

Your name:

この場合、値を入力するまで処理は実行されません。
何気ない処理ですが、たったこれだけのコードで実現可能です。

あと、次のようなヘルプ画面を自動的に作成してくれます。

Usage: hello.py [OPTIONS]

  Simple program that greets NAME for a total of COUNT times.

Options:
  --count INTEGER  Number of greetings.
  --name TEXT      The person to greet.
  --help           Show this message and exit.

地味ですが、これは便利です。
すぐにその場でヘルプを確認できるのは、効率UPとなります。

また、ヘルプの自動作成はコード上にコメントを残すモチベーションにもなります。
コメントがヘルプで表示されることになりますからね。

そうなると、今まで以上にちゃんとコメントを残そうと思いませんか?
私の場合は、少なくともそのようになります。

以上、Clickについて説明しました。
次は、Clickのシステム要件を説明します。

Clickのシステム要件

現時点(2022年8月)でのClickの最新バージョンは、8.1.3となります。
この最新バージョンは、2022年4月29日にリリースされています。

サポートOSに関しては、以下を含むクロスプラットフォーム対応です。

  • Windows
  • macOS
  • Linux

サポート対象となるPythonのバージョンは、Python 3.7以降です。
つまり、以下のPython公式開発サイクルに準じていることになります。

バージョンリリース日サポート期限
3.62016年12月23日2021年12月23日
3.72018年6月27日2023年6月27日
3.82019年10月14日2024年10月
3.92020年10月5日2025年10月
3.102021年10月4日2026年10月

Python 3.6は、2021年末でサポート期限が切れていることに注意しましょう。
まとめると、Clickのシステム要件はPython 3.7以降ぐらいです。

以上、Clickのシステム要件を説明しました。
次は、Clickのインストールを説明します。

Clickのインストール

検証は、次のバージョンのPythonで行います。

$ python -V
Python 3.10.2

まずは、現状のインストール済みパッケージを確認しておきます。

$ pip list
Package    Version
---------- -------
pip        22.2.2
setuptools 63.4.2
wheel      0.36.2

次にするべきことは、pipとsetuptoolsの更新です。
pipコマンドを使う場合、常に以下のコマンドを実行しておきましょう。

python -m pip install --upgrade pip setuptools

では、Clickのインストールです。
Clickのインストールは、以下のコマンドとなります。

pip install click

Clickのインストールは、一瞬で終わります。
終了したら、どんなパッケージがインストールされたのかを確認します。

$ pip list
Package    Version
---------- -------
click      8.1.3
pip        22.2.2
setuptools 63.4.2
wheel      0.36.2

Clickが依存するパッケージは、ありません。
そのため、Clickは既存環境へ簡単に導入可能です。

以上、Clickのインストールを説明しました。
次は、Clickの動作確認を説明します。

Clickの動作確認

Clickの動作確認を行います。
動作確認に用いるコードは、以下。

import click


@click.command()
@click.option("--count", default=1, help="挨拶の回数")
@click.option("--name", prompt="名前を入力してください", help="挨拶する相手")
def hello(count, name):
    """NAMEに合計COUNT回挨拶するシンプルなプログラム。"""
    for _ in range(count):
        click.echo(f"こんにちは, {name}!")


if __name__ == '__main__':
    hello()

まずは、ヘルプから見てみましょう。

$ python test.py --help
Usage: test.py [OPTIONS]

  NAMEに合計COUNT回挨拶するシンプルなプログラム。

Options:
  --count INTEGER  挨拶の回数
  --name TEXT      挨拶する相手
  --help           Show this message and exit.

日本語の表示は、問題ありませんね。
次は、入力を求めるケースを試してみます。

$ python test.py --count 3

上記を実行すると、promptに指定したメッセージが表示されます。

名前を入力してください:

適当に値を入力した結果は、以下。

$ python test.py --count 3
名前を入力してください: テスト太郎
こんにちは, テスト太郎!
こんにちは, テスト太郎!
こんにちは, テスト太郎!

入力不要の場合は、次のように実行します。

$ python test.py --count 2 --name 入力不要マン 
こんにちは, 入力不要マン!
こんにちは, 入力不要マン!

確かに、PythonでCLIツールを簡単に作成できていますね。
他にも、まだまだ楽しそうな機能がClickには用意されています。
詳細は、次のページで確認できます。

Click公式ドキュメント
https://click.palletsprojects.com/

以上、Clickの動作確認を説明しました。

タイトルとURLをコピーしました