$ python3 Python 3.x.x >>> python3 pythonではなく
python3コマンドが用意されている

macOSやLubuntuなどを使っていると、pythonはコマンドして入っていない、と表示されます。

よく、調べものをすると、python表記のコマンドが多いのですが、pythonではなくpython3がコマンドとして入っているのはどうしてですか?

関連記事

1. Pythonとpython

まず、Pythonは言語名です。
python や python3 は コマンド名であり、OS がどの実行ファイルを指すかを決めています。

現在の macOS や Lubuntu(Ubuntu 系 Linux)では、python コマンドが最初から存在しない、または存在しても Python 3 を指さない、という構成が標準になっています。一方で python3 コマンドは最初から用意されている、または公式に推奨されています

1.1. Python 2系列

理由の中心は Python 2 と Python 3 の互換性問題です。
Python 2(正式名称: Python 2.x)と Python 3(Python 3.x)は文法や動作が互換ではなく、同じ python という名前で両方を扱うと深刻な混乱が起きました。
ちなみに、Python 2 は 2020 年に公式サポートが完全終了しています。

そのため OS 側では、
python という曖昧な名前を最初から用意しない」
「明示的に python3 を使わせる」
という方針に切り替えました。
macOS や Ubuntu 系がこの方針を強く採用しています。

1.2. pythonコマンド

一方で、インターネット上の多くの説明や古い記事で python と書かれているのは、主に次の二つです。

ひとつは 過去の慣習です。
Python 2 が主流だった時代は python = Python 2 が当たり前でした。

もうひとつは 環境依存の前提です。
Windows や pyenv(Python のバージョン管理ツール)などを使っている環境では、python が Python 3 を指すように設定されていることが多く、その前提で書かれているケースです。

2. pythonというシンボリックリンクもあるが・・・・

では、どう使うのが安全かという点ですが、現状では 常に python3 を使うのが事実上の正解です。スクリプト実行、REPL 起動、pip 使用時も python3 / pip3 を明示すると誤動作を避けられます。

もし python でも使いたい場合は、python を python3 に割り当てる設定(シンボリックリンクやエイリアス)も可能です。
しかし、OS 管理ツールの広い範囲に影響を与えることがあるため、注意が必要です。

まとめますと、
python が無いのは不具合ではなく 意図された設計です。
python3 がある環境では、それを使うのが正しく、将来も安全です。