私のDebianテストシステムの最新アップデートでは、Pythonバージョン2が削除されており、Python 3のみがインストールされており、もうpython3
コマンドはありませんpython
。これにより、Python 3互換スクリプトを含む複数のスクリプトが失敗します。
python
グローバルをエイリアスとして設定する正しい方法が何であるかを知りたいですpython3
。
汚い解決策はこのような作業を手動で行うことですが、sudo ln -s /usr/bin/python{3,}
これが将来のAPTアップデート(またはPython 2が後で再インストールされる場合)に対して強力ではない可能性があることを心配しています。別のオプションはエイリアスを設定することですが、システム全体ではなく私のユーザーにのみ機能します。
また、Ubuntuにはまさにこれを行うパッケージがありますが、python-is-python3
Debianにはそのようなパッケージがないことがわかりました。
答え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パッケージがあるため、現在は不安定で実験的です)。