私はFedora 21を使用しています。理由は聞かないでください。しかし、2つのバージョンのPython 2.xがインストールされています。 「python」を使って端末から呼び出すと、次のような結果が出るので、2つの異なるバージョンがあると言えます。
Python 2.7.9(デフォルト、2017-02-18、17:18:34)
linux2の[GCC 4.9.2 20150212(Red Hat 4.9.2-6)]
詳細については、ヘルプ、著作権、クレジット、またはライセンスを入力してください。
私が「python」として呼び出すバージョンは、「/usr/local/bin/python」という点を追加したいと思います。一方、「/usr/bin/python」として呼び出すと、次のような結果が得られます。
Python 2.7.8(デフォルト、2015-09-24、18:25:44)
linux2の[GCC 4.9.2 20150212(Red Hat 4.9.2-6)]
詳細については、ヘルプ、著作権、クレジット、またはライセンスを入力してください。
さらに、同じライブラリ/モジュールにアクセスできないようです。たとえば、SciPyと「python」を使用してスクリプトを実行するとエラーが発生しますが、「/usr/bin/python」を使用してスクリプトを実行するとエラーは発生しません。
それでは、「python」で呼び出されたときに実行中のバージョンを削除し、「/usr/bin/python」で呼び出されたバージョンを維持するにはどうすればよいですか?また、単純な「python」を使って現在「/usr/bin/python」を使って呼び出しているものを呼び出したいと思います。
答え1
どのRPMがインストールされているかを確認して、/usr/local/bin/pythonの下からそのRPMを削除してみることができます。
rpm -f /usr/local/bin/python
バージョンがあればそれを呼び出します。
他の2つのオプションは次のとおりです。
a) /usr/bin が /usr/local/bin の前に来るように PATH 変数を変更します。
b) 「python」を「/usr/bin/python」とエイリアスします。
答え2
Pythonの1つを削除する実際の理由はありません(他のアプリケーションがそれに依存する可能性があります)。
/usr/bin/python
基本的に使用する/usr/bin
には。/usr/local/bin
$PATH
次のコマンドを使用して調べることができ、単に値の前にecho $PATH
追加するだけです。/usr/bin
PATH="/usr/bin:$PATH"
シェルの起動ファイルに。/usr/bin
何度もリストすることは$PATH
問題ではありません。
Pythonスクリプトを作成する場合は、shebang-lineが次のようになっていることを確認してください。
#!/usr/bin/python
スクリプトは実行可能です。これにより、必要なPythonインタプリタが選択されます。