Debianでシステム全体で `python`を `python3`のエイリアスにする方法

Debianでシステム全体で `python`を `python3`のエイリアスにする方法

私のDebianテストシステムの最新アップデートでは、Pythonバージョン2が削除されており、Python 3のみがインストールされており、もうpython3コマンドはありませんpython。これにより、Python 3互換スクリプトを含む複数のスクリプトが失敗します。

pythonグローバルをエイリアスとして設定する正しい方法が何であるかを知りたいですpython3

汚い解決策はこのような作業を手動で行うことですが、sudo ln -s /usr/bin/python{3,}これが将来のAPTアップデート(またはPython 2が後で再インストールされる場合)に対して強力ではない可能性があることを心配しています。別のオプションはエイリアスを設定することですが、システム全体ではなく私のユーザーにのみ機能します。

また、Ubuntuにはまさにこれを行うパッケージがありますが、python-is-python3Debianにはそのようなパッケージがないことがわかりました。

答え1

Debian がリリースされたようです。Pythonはpython3です(Debian 11以降では)質問の前提はもはや有効ではなく、次のことができますsudo apt update && sudo apt install python-is-python3

答え2

/usr以下を除く/usr/localすべてがパッケージから出なければならないという規則に従うためにpython-is-python3パッケージそしてインストールしてください。シンボリックリンクと必須文書のみを提供し、/usr/bin/pythonパッケージ関係によって将来の問題が発生する可能性はほとんどありません。

エイリアスはスクリプトのshebangには役に立たず、Pythonパッケージが代替を使用しないことを考慮すると、独自の代替を作成することはupdate-alternatives信頼できるソリューションではありません。

スクリプトでそれを使用している場合は、/usr/bin/env pythonリンクを手動で追加できます/usr/local/bin

python2何をするかを決めたとしても、Pythonに依存しているDebianパッケージは公式リポジトリpython3(Debian 11以降ではまだクリーンアップされていない古いPythonパッケージがあるため、現在は不安定で実験的です)。

関連情報