web-dev-qa-db-ja.com

UbuntuでPython3のデフォルトバージョンを変更する

Ubuntu 16.04 LTSを使用しています。 python3をインストールしました。 python 3.4.3python 3.6の2つのバージョンがインストールされています。 python3コマンドを使用すると、デフォルトでpython 3.4.3がかかります。 python 3.6python3を併用したい。

python3 --versionversion 3.4.3を表示します

version > 3.5をサポートするansibleをインストールしています。したがって、ターミナルでansibleと入力すると、python 3.4が原因でエラーがスローされます

123
codeclue

コメントから:

Sudo update-alternatives --config python

エラーが表示されます:

update-alternatives: error: no alternatives for python3 

update-alternativesを更新する必要があります。そうすると、デフォルトのpythonバージョンを設定できます。

Sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.4 1
Sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.6 2

次に実行します:

Sudo update-alternatives --config python

Python3.6をデフォルトとして設定します。

または、次のコマンドを使用してpython3.6をデフォルトとして設定します。

Sudo update-alternatives  --set python /usr/bin/python3.6
173
GAD3R

以下の簡単な手順を適用することでこれを達成できます-

  1. チェックpython端末のバージョン-python --version
  2. Rootユーザー権限を取得します。端末タイプ-Sudo su
  3. Rootユーザーのパスワードを書き留めます
  4. このコマンドを実行して、python 3.6-
    update-alternatives --install /usr/bin/python python /usr/bin/python3 1
  5. チェックpythonバージョン-python --version
  6. できました。
21
Vineet Jain

これらのコマンドを使用すると、次のことができます。

  1. pythonのバージョンを確認してください:ls /usr/bin/python*
  2. エイリアス:alias python='/usr/bin/pythonxx'(これを. ~/.bashrcに追加)
  3. 再ログインまたはソース. ~/.bashrc
  4. pythonバージョンをもう一度確認してください:python --version
12
Newt

/ usr/bin/python3のシンボリックリンクを作成します。私のLinuxMintで:

# ls -lh /usr/bin/python3 /usr/bin/python
lrwxrwxrwx 1 root root 9 ноя 24  2017 /usr/bin/python -> python2.7
lrwxrwxrwx 1 root root 9 сен  6  2017 /usr/bin/python3 -> python3.5

# mv /usr/bin/python /usr/bin/python.bak
# cp /usr/bin/python3 /usr/bin/python
# python --version
Python 3.5.2
6
nabi sheyhov

簡単な答えは、python3.6のエイリアスを追加することです。

この行を〜/ .bashrc:alias python3="python3.6"ファイルに追加し、ターミナルを閉じて新しいターミナルを開きます。 python3 xxxと入力すると、python3.6 xxxに変換されます。

このソリューションは、システムを過度に調整する必要なく、問題を修正します。

EDIT:

MikaelKjær が指摘したように、これはシステムでのansibleの設定ミスです。

見たとおり here:

ansible_python_interpreter構成オプションを/ usr/bin/python3に設定します。 ansible_python_interpreter設定オプションは通常、ホストまたはホストのグループに関連付けられたインベントリ変数としてホストごとに設定されます。

  # Example inventory that makes an alias for localhost that uses python3
  [py3-hosts]
  localhost-py3 ansible_Host=localhost ansible_connection=local

  [py3-hosts:vars]
  ansible_python_interpreter=/usr/bin/python3

見たとおり here 設定ファイルについて:

変更を加えて、次の順序で処理される構成ファイルで使用できます。

* ANSIBLE_CONFIG (an environment variable)
* ansible.cfg (in the current directory)
* .ansible.cfg (in the home directory)
* /etc/ansible/ansible.cfg
4
user264413

システムに複数のバージョンのpythonがある場合。/usr/bin/内のpythonのシンボリックリンクを更新する必要があるだけです。

root@irshad:/usr/bin# ls -lrth python*
lrwxrwxrwx 1 root root    9 Apr 16  2018 python -> python2.7
-rwxr-xr-x 1 root root 3.6M Nov 12  2018 python2.7
-rwxr-xr-x 2 root root 4.4M May  7 14:58 python3.6

上記の例では、python --versionの出力が表示された場合、python2.7が表示されます。

python symlinkを以下のコマンドを使用して更新します-

root@irshad:/usr/bin# unlink python
root@irshad:/usr/bin# ln -s /usr/bin/python3.6 python
root@irshad:/usr/bin# python --version
Python 3.6.8
3
IRSHAD

最初のチェックはあなたのpython3.6フォルダを行います

ls /usr/bin/python3.6

python3.6のようなフォルダがあれば

それからupdate-alternatives

Sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.6 1

python3の新しい設定を更新する

Sudo update-alternatives --config python3

チェックpythonバージョン

python3 --version

2
mmblack

端末を開いて次のように入力します:gedit ~/.bashrcと次の行を追加します。

alias python=python3.x

ここで、xはあなたのpythonバージョンです。

ハッピーコーディング。

1

シンボリックリンクはln -sf python3.6 python3内の/usr/binで変更できます。これにより、python3を呼び出すと、python3.6が実行されます

1
SPAWN35

update-alternativesは、システムのシンボリックリンクをユーザー定義/アドミン定義のシンボリックリンクに変更することです。システムに複数のバージョンのpython3がインストールされており、python3が呼び出されたときに呼び出すpython3バージョンを制御する場合。以下をせよ

Sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.4 1
Sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.5 2

今後、優先度を変更したい場合は、以下のコマンドを実行します。

update-alternatives --config python3

説明:-

Sudo update-alternatives --install <symlink_Origin> <name_of_config> <symlink_destination> <priority>

Name_of_configをpython4に変更することもできますが、再構成するにはpython4でupdate-alternatives --configを呼び出す必要があります。

このアプローチを使用すると、システムpythonバージョンとpython3バージョンを個別に制御できます。

0
wittyurchin