PATHに新しいバージョンのPythonを追加すると危険ですか?つまり、いくつかの重要なシステムプログラムがクラッシュするのでしょうか?
これが古いpython2を削除せずにpython3(またはpython2のデフォルト以外のバージョン)を指すように "python"コマンドを効果的に変更するとします。変更がルートに影響しなくても安全ではありませんか?
ベストアンサー1
長い言葉を短く〜
安全かもしれませんが…
危険です。これがpython
多くのディストリビューションのコマンドラインデフォルトがPython 2である理由です。
これは本当にあなたに傷を与えますか?
どのLinuxディストリビューションにどのパッケージがあるのかわからない場合は不明です。これを試してみると、どのような問題が発生するのかを知るのに十分な世界中のすべての利用可能なソフトウェアパッケージを十分に監督できる人がいるかどうか疑問に思います。
しかし、時間の経過とともに、リスクはますます減少しています。 Python 3は成熟しており、まだPython 2を使用している人はリスクをよりよく認識しているので、これを防ぐことができます。この時の危険可能十分低くて外れることがあります。
リスクは何ですか?
Pythonで書かれたLinux上で動作する多くのプログラムがあります。 Pythonを実行可能ファイルとして呼び出すので、Pythonを使用していることに気づかないかもしれません。彼らは使うシェルボーン明示的に呼び出さずにPythonを呼び出します。
問題は、ShebangのPython 2用に多くのプログラムが書かれていることです。以前は設定#!/usr/bin/python
。同様に、puthonスクリプトを呼び出すシェルスクリプトは簡単に呼び出すのが簡単ですpython script.py
。 Python 3に切り替えると、/usr/bin/python
多くのプログラムがクラッシュします。ただし、時間の経過とともに、ほとんどの古いプログラムは特定のバージョン(/usr/bin/python2
より多くのバージョン)を要求するように修正されました/usr/bin/python2.7
。スタイルの問題のため、Python 3プログラムではバージョンを指定する必要があります。
変更する前に確認してください
物理サーバーがない場合は、本番サーバーでこれを変更しません。本物良い理由。しかし、自分のラップトップを交換すると、リスクははるかに低くなります。
私はそれを実行して次のことを確認しようとしています。
grep /usr/bin/python /usr/bin/* /usr/sbin/* 2> /dev/null
/usr/bin/python
...バージョンを指定していないすべての呼び出しを見つけます。何もなければ試してみてください。予期しない状況に注意してください。