python RHEL 7のデフォルトバージョンを2.7から3.7に変更する方法.
インストール済みpython https://tecadmin.net/install-python-3-7-on-centos/
python versionをチェックすると、まだ古いバージョンが表示されます。
他の人が上記のコメントで述べたように、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の別の回答で詳しく説明されています です。
標準の公式インストール(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を指すようにしますプライマリロケーションとしてのシステムデフォルトは、それと同じくらい簡単です。
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