UbuntuでデフォルトのPythonバージョンをpython3に設定できません


146

デフォルトのpythonバージョンをpython3に設定しようとしましたUbuntu 16.04。デフォルトではpython2(2.7)です。以下の手順に従いました:

update-alternatives --remove python /usr/bin/python2
update-alternatives --install /usr/bin/python python /usr/bin/python3

しかし、2番目のステートメントで次のエラーが発生します。

rejeesh@rejeesh-Vostro-1015:~$ update-alternatives --install /usr/bin/python python /usr/bin/python3
update-alternatives: --install needs <link> <name> <path> <priority>

Use 'update-alternatives --help' for program usage information.   

私はUbuntuを使い始めたばかりで、何が悪いのかわかりません。


3
警告に記載されているように、優先順位がありません。
greedy52

6
Python 2.7はOSの多くの機能を損なうため、削除しないように注意してください(経験から:()
Jacques de Hooge 2017

優先エラーに関連して、私の回答を編集しました。
Steampunkery

1
警告:pythonPython 3 に変更するのは悪い考えのように思えます。Python2で記述されたスクリプトを呼び出すデフォルトの方法はですがpython my-script-p2.pypython3 my-script-p3.pyです。多くのシステムスクリプトがこれに依存することを期待します。
jan groth

1
このトピックに興味がある人のために、仮想環境に注意を払うことをお勧めします:docs.python.org/3/tutorial/venv.html 私のUbuntu 18 LTSはまだPython 2.7を使用しています。 Python 3.Xを使用する仮想環境であり、私のDjangoプロジェクトで最新の状態になっています。
ビクタービョルン

回答:


136

.bashrcファイルを開きますnano ~/.bashrcalias python=python3ファイルの上部の新しい行に入力し、ctrl + oでファイルを保存し、ctrl + xでファイルを閉じます。次に、コマンドラインタイプに戻りますsource ~/.bashrc。これで、エイリアスは永続的になります。

編集:

代替更新の場合、優先度は整数です。優先順位は、最初に使用するプログラムを表します。この記事では、すべてをまとめています。


60
これは間違った答えです。bashrcを編集しても、update-alternativesと同じことは行われません。たとえば、で始まるスクリプトは#!/usr/bin/env python、bashrcのバージョンを使用しません。@Pardhuの回答を使用してください。
stonewareslord

私はずっと前にこの答えを書きました、そして私はアップデートの選択肢がbashrcを変えることと同じでないことを知っています。必要に応じて、回答を編集できます。
Steampunkery

1
エイリアスを変更しても同じことは行われないというのは、この質問を持つユーザーへの警告です。編集したい場合はあなた次第です。
stonewareslord

これが私を助けた唯一の答えです。やってみましたsudo update-alternatives --install /usr/bin/python python /usr/bin/python3.5.2But I got: update-alternatives: --install needs <link> <name> <path> <priority> Use 'update-alternatives --help' for program usage information.
alexchenco

1
私はこれをしました、そしてそれはvirtualenvsのようなものを壊しました。この答えはさらに問題を引き起こしています
Kuzeko

295

上記の2行目は次のように変更できます。

update-alternatives --install /usr/bin/python python /usr/bin/python3 10

これにより、のパスの優先度は10になりますpython3.bashrcファイルの編集の欠点は、でコマンドを使用している間は機能しないことsudoです。

更新:sudo次のようなコマンドの実行中に使用してください:

sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 10


3
良い簡単な方法です。
PrakashG

7
良い、正しい権利。エラーメッセージの「<priority>」はすでに提案しています。ところで、このインストールコマンドを実行するには、通常「sudo」が必要です。
ywu

4
ywuが言ったように、私は「sudo update-alternatives --install / usr / bin / python python / usr / bin / python3 10」を実行する必要がありました
Roy

3
これは確かに正しい方法ですが、システム全体のデフォルトを変更すると、いくつかの問題が発生する可能性があることに注意してください。たとえば、python2でのみ機能するターミネーター修正を適用する必要がありました。
デールアンダーソン、

1
このコマンドの後に-完全に動作しないpython実行されますpython3が、python-configまだ実行されますpython2-configと、一般的な破損のすさまじい
クリス・ドッドを

36

Ubuntu 18.04のデフォルトとしてPython 3.6.8をPython 3.7に変更します。

Python 3.7をインストールする

Python3.7をインストールしてデフォルトのインタープリターとして構成する手順。

  1. apt-getを使用してpython3.7パッケージをインストールします

    sudo apt-get install python3.7

  2. Python3.6とPython 3.7を追加 update-alternatives

sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.6 1
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.7 2
  1. Python 3.7を指すようにPython 3を更新する

    sudo update-alternatives --config python3 Python 3.7の場合は2を入力します

  2. Pythonのバージョンをテストする

python3 --v
Python 3.7.1 

3
これにより、パッケージ化されたソフトウェアが破損する可能性があるという警告を含めることができます。Python 3.6が配布されるデフォルトであり、バンドルされているソフトウェアパッケージもこのバージョンを想定しています。
Tim

これは私を助けました。ありがとう。
ジェフリーcopps

pythonをpython3ではなくバージョン3.7に置き換えることはできますか?
Wee Hong

@ティム、それを処理する最良の方法は何ですか?
Shreya

@Wee Hong、はい、できます。$ sudo update-alternative --install / usr / bin / python3 python3 ....の代わりに$ sudo update-alterative --install / usr / bin / python python .....に置き換えてください:sudo update -alternatives --config python。
Arthur Zennig

23

python3に変更するには、ターミナルで次のコマンドを使用できますalias python=python3


4
しかし、それはターミナルで現在実行中のプロセスでのみ機能します。ターミナルを閉じて開くと、python2に戻ります。
RejeeshChandran

2
Steampunkeryの答えで@RejeeshChandranルック
Seraf

13

簡単で安全な方法は、エイリアスを使用することです。これを〜/ .bashrcファイルに配置します:geditエディターを使用している場合

gedit〜/ .bashrc

bashrcファイルに移動し、bashrcファイルの先頭で次の変更を行います。

エイリアスpython = python3

上記をファイルに追加した後。以下のコマンドを実行します

ソース〜/ .bash_aliasesまたはソース〜/ .bashrc

例:

$ python --version

Python 2.7.6

$ python3 --version

Python 3.4.3

$エイリアスpython = python3

$ python --version

Python 3.4.3


9

追加の追加として、pipのエイリアスを追加することもできます(.bashrcまたはbash_aliases内):

エイリアスpip = 'pip3'

多くの場合、python3のクリーンインストールが実際にはpython3.xを指しているため、次のものが必要になる場合があります。

エイリアスpip = 'pip3.6'
エイリアスpython = 'python3.6'


7

最初にpython3とpip3をインストールします

sudo apt-get install python3 python3-pip

その後、あなたのターミナルで

alias python=python3

マシンのpythonのバージョンを確認します。

python --version

7

Ubuntu Focal(20.20)を使用している場合は、次をインストールできますpython-is-python3

sudo apt-get install python-is-python3

/usr/bin/python指すようにシンボリックリンクを置き換える/usr/bin/python3.8


5

それが言うように、update-alternatives --install<link> <name> <path>および<priority>引数が必要です。

リンク(/usr/bin/python)、名前(python)、パス(/usr/bin/python3)があり、優先度がありません。

update-alternatives --help 言う:

<priority>は整数です。自動モードでは、数値が大きいオプションほど優先順位が高くなります。

だから100最後に何かを入れて


5

行う

cd ~
gedit .bash_aliases

次にどちらかを書きます

alias python=python3

または

alias python='/usr/bin/python3'

ファイルを保存し、ターミナルを閉じて再度開きます。
もう大丈夫だ!リンク


5

以下の手順に従って、デフォルトのpythonを新しくアップグレードしたpythonバージョンに変更してください。私にとってはうまくいきました。

  • sudo apt-install python3.7 必要な最新バージョンのPythonをインストールする
  • cd /usr/bin Pythonがインストールされているルートディレクトリを入力します
  • sudo unlink pythonまたはsudo unlink python3。現在のデフォルトpythonのリンクを解除する
  • sudo ln -sv /usr/bin/python3.7 python ダウンロードした新しいPythonバージョンをリンクする
  • python --version 新しいpythonバージョンを確認してください。

3

別の非侵襲的な現在のユーザーのみのアプローチの場合:

# First, make $HOME/bin, which will be automatically added to user's PATH
mkdir -p ~/bin
# make link actual python binaries
ln -s $(which python3) python
ln -s $(which pip3) pip

python pip 新しいシェルで準備されます。



0

すべてのユーザーで機能するubuntu 18.04の最良の方法は

sudo vim /etc/bash.bashrc
add lines
alias python=python3
alias pip=pip3

変更を保存して再起動します。

再起動後、システムにあるpython 3のこれまでのバージョンとpython 2.7がデフォルトとして使用されます。Python 3のバージョンが複数ある場合は、エイリアスで次のように言うことでより具体的にすることができます。

sudo vim /etc/bash.bashrc
add lines
alias python=python3.6
alias pip=pip3.6

0

単に削除するpython-is-python2

sudo apt purge python-is-python2

そしてインストールpython-is-python3

sudo apt install python-is-python3

新しいpython3への移行プロセスを自動化します。オプションで、残りのパッケージを後で取り除くことができます。

sudo apt autoremove && sudo apt autoclean

0

Ubuntu 18.04のデフォルトとしてPython 3.6.8をPython 2.7から変更するには、コマンドラインツールを試してくださいupdate-alternatives

sudo update-alternatives --config python

「Pythonの代替案がありません」というエラーが発生した場合は、次のコマンドを使用して代替案を自分で設定します。

sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 2

/usr/bin/python3それに応じて、パスを目的のpythonバージョンに変更します。

優先度を指定した最後の引数は、手動による代替選択が行われない場合、最高の優先度番号を持つ代替が設定されることを意味します。今回のケースでは、優先度2を設定し/usr/bin/python3.6.8ました。その結果、/usr/bin/python3.6.8update-alternativesコマンドによって自動的にデフォルトのPythonバージョンとして設定されました。

以下のコマンドを使用して選択番号を入力することで、上記のpythonの代替バージョンをいつでも切り替えることができます。

update-alternatives --config python

-1

最初に、Python3がコンピュータにインストールされていることを確認します

端末に移動して、次のように入力します。

cd ~/ ホームディレクトリに移動する

.bash_profileまだ設定していない場合は、入力touch .bash_profileして.bash_profileを作成します。

または、open -e .bash_profileファイルを編集するために入力します。

コピーalias python=python3して.bash_profileに保存します。

ターミナルを閉じて再度開きます。次に、次のコマンドを入力して、Python3がデフォルトのバージョンかどうかを確認します。

python --version

あなたは、表示されるはずのpython 3.xyは、デフォルトのバージョンです。

乾杯!


この方法は、この質問の優先回答ですでに説明されています。そしてあなたの答えは何の貢献もしません。
Tripulse
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.