web-dev-qa-db-ja.com

python RHEL 7のデフォルトバージョンを2.7から3.7に変更する方法

python RHEL 7のデフォルトバージョンを2.7から3.7に変更する方法.

インストール済みpython https://tecadmin.net/install-python-3-7-on-centos/

python versionをチェックすると、まだ古いバージョンが表示されます。

5
itgeek

他の人が上記のコメントで述べたように、RHEL 7とその派生物は、Python 2に非常に深いレベルで依存しています。Python 2を3。

そうでない場合でも、あなたの質問は間違った前提に基づいており、Python 2をPython 3で置き換えることは最初の場所。常にPython 3 as python3、それはこの問題からあなたを隔離するからです。 Python 2と仮定するスクリプトは、それをpythonとして Shebang行 などで呼び出すため、実際には、2つの間に競合はありません。バイナリPythonパッケージは適切にビルドされています。

その「もし」があなたに噛み付く可能性があります:一部のパッケージャはPython /usr/bin/pythonまたは類似、これは競合を作成します。これらのパッケージは、両方を並行してインストールできるようにする標準的なアドバイスを無視しています。

実際にPython 3パッケージ)を取得することは Stack Overflowの別の回答で詳しく説明されています です。

6
Warren Young

標準の公式インストール(SCLリポジトリを使用)を備えたRHEL7では、現在のシェルのpython3環境への切り替えは、「scl enable」コマンドを使用して行います(注:私の場合、python 3.6):

scl enable rh-python36 "/bin/bash"

私は、Python3用にハードウェア環境を構成するようにユーザーを設定したい場合は、次のようにします(注: "[some_user]"をそのユーザーのユーザー名に置き換えてください)。

user=[some_user]; userhome=$(eval echo ~$user); echo ". /opt/rh/rh-python36/enable" >> ${userhome}/.bashrc

.bashrcは、ログインシェルと非ログインシェルの両方で読み込まれるため、コマンドラインから実行されたスクリプトや一部のcronジョブによって実行されたスクリプトなどの両方で実行されます。必要な環境変数を設定して、Python3ではなくPython3を指すようにしますプライマリロケーションとしてのシステムデフォルトは、それと同じくらい簡単です。

1
cepal67

alternativesソリューションをお勧めします

私のコマンドはあるでしょう。

#!/bin/bash

alternatives --list | grep -i python
alternatives --install /usr/bin/python python /usr/bin/python2.7 1
alternatives --install /usr/bin/python python /usr/bin/python3.6 2
alternatives --install /usr/bin/python python /usr/local/bin/python3.7 3
alternatives --config python
0
Raj Chinna