web-dev-qa-db-ja.com

CentOSでデフォルトのPythonバージョンとしてPython3.5.2を設定する方法は?

CentOS 7でPython 3.5.2をデフォルトのPythonバージョンとして設定する方法はありますか?現在、Python 2.7がデフォルトとしてインストールされ、Python 3.5.2が個別にインストールされています。

私は次のコマンドを使用しました

mv /usr/bin/python /usr/bin/python-old
Sudo ln -fs /usr/bin/python3 /usr/bin/python

しかし、その後yumはエラーを返します。

-bash: /usr/bin/yum: /usr/bin/python: bad interpreter: No such file or directory

ここに欠けているものはありますか?

注: Linux CentOS 7、Python2.7をデフォルトのPythonバージョンとして設定する方法?

20
muaaz

これなら

Sudo ln -fs /usr/bin/python3 /usr/bin/python

動作しません(そうすべきです)

次のコマンドを使用して、/home/.bashrcにエイリアスを追加できます。

alias python="/usr/bin/python3.5"

これが機能しない場合は、仮想環境を使用する必要があります。これを読んでください page .

24
Liam

代わりに「代替」を使用することをお勧めします。スーパーユーザー(root)として、次を実行します。

# start by registering python2 as an alternative
alternatives --install /usr/bin/python python /usr/bin/python2 50
# register python3.5 as an alternative
alternatives --install /usr/bin/python python /usr/bin/python3.5 60
# Select the python to use
alternatives --config python

最後のコマンドでは、両方の選択肢から選択するように求められます。

いつものように、とにかくほとんどの場合、この単純なコマンドを使用してマニュアル(マンページ)をチェックアウトできます。

man alternatives

乾杯

23
OldFart

質問のとおり、Linux CentOS 7では、Python3.5.2をデフォルトのPythonバージョンとして設定する方法は?

@OldFartの答えを補完したい(残念ながら、私が持っている他のコメントはできません)。

pdate-alternativesでinstall paramを使用する場合、autoモードで優先度を設定できます。最高の優先度を持つ代替は、代替が手動で設定されていなければデフォルトの代替になると暗黙的に言います。 an 例、

update-alternatives --install /usr/bin/python python /usr/bin/python2 50

python2の代替を優先度50に設定し、

update-alternatives --install /usr/bin/python python /usr/bin/python3.5 60

python3.5の代替を優先度60に設定します。デフォルトでは、python 3.5がpythonコマンドのデフォルトのpython実行可能ファイルになります。

デフォルトのpython代替を変更したい場合、

update-alternatives --config python

パスファイルを変更する必要がないので、これはより良いアプローチです。

3