LinuxターミナルでPythonプログラムを実行するには?こうでしょ?
python program.py
しかし、Ubuntuでpythonコマンドを使おうとするとエラーが出ます。
command python' が見つからない, did you mean:
command python3' from deb python3
command python' from deb python-is-python3
このエラーメッセージに注目してください。ここでの python コマンドは実際には python3です。
理解できなくても心配しないでください。ここで詳しく説明します。
Ubuntuでpythonコマンドが見つからないのはなぜですか?
これはPython言語がpythonとしてではなく、python3またはpython2としてインストールされるためです。
遠い過去のある時点で、Pythonは実際にPythonパッケージ/実行可能ファイルとして提供されていました。Pythonが2番目のバージョンでリリースされたとき、Ubuntuや他のディストリビューションはPython 1.xと2.xの両方のバージョンをサポートしなければなりませんでした。
そのため、2つのバージョンを区別するために、より新しいバージョンのPythonをpython2と呼んでいます。他のアプリケーションやライブラリも、コード中でpythonやpython2を指定しています。
最終的に、Python 1のバージョンは完全に廃止されましたが、パッケージの名前はpython2であり続けました。
同様に、Python 3がリリースされたとき、ディストリビューションはpython2とpython3の両方のパッケージを提供し始めました。
Python 2はサポートされなくなり、UbuntuではPython 3.xがインストールされます。パッケージ名はpython3のままです。
要約すると、あなたはUbuntuにPythonをインストールしました。それはpython3パッケージとして使用されています。
では、 Ubuntuで「Pythonコマンドが見つかりません」というエラーが表示された 場合、どのような選択肢があるのでしょうか?説明しましょう。
Pythonがシステムにインストールされていることを確認してください。
すでにインストールされているはずですが、再確認しておいて損はないでしょう。
Ubuntu 18.04にはPython 2もありますが、20.04以降にはPython 3しかありません:
type python python2 python3
Pythonがインストールされていない場合は、以下のコマンドでPython 3をインストールできます。
sudo apt install python3
pythonの代わりにpython3を使用
面倒でなければ、pythonの代わりにpython3コマンドを使ってください。
インストールされているPythonのバージョンを確認したいですか?このように入力してください:
python3 --version
すると、出力にバージョンの詳細が表示されます:
~$ python3 --version
Python 3.10.4
Pythonプログラムを実行する必要がある場合は、次のように実行します:
python3 program.py
ほとんどの場合、これでうまくいくはずです。しかし、Pythonの実行ファイルをコード内で実行することを期待するPythonアプリケーションを使っている場合、問題が発生します。心配しないでください。
python3からpythonへのリンク
次のように、 .bashrc ファイルにパーマネントエイリアスを作成することができます:
alias python='python3'
こうすることで、システムが python3実行している間に python コマンドを実行することができます。
現在、/usr/bin/pythonと/usr/bin/python3の間にシンボリックリンクを作成することができますが、Ubuntuユーザーのために、より簡単な代替手段があります。
Ubuntu 20.04以降では、 python-is-python3 パッケージがインストールされていれば、すべてのリンク作成を自動的に行うパッケージがあります。元のエラーメッセージはこれを示唆しています。
sudo apt install python-is-python3
シンボリックリンクが作成され、問題なく python コマンドを使用できることがわかります。
これでUbuntuのPythonパッケージの問題がクリアになれば幸いです。何か質問や提案があれば、教えてください。





