Ubuntuのをインストールすると、python pathが2.7に設定されています。
Linuxのの Alternatives
を利用すれば、pythonのバージョンを簡単に変更して、管理することができます。
Alternativesは基本コマンドのシンボリックリンクを管理するLinuxのプログラムです。
Debianの系列のLinuxの(Ubuntuの)では update-alternatives
が提供されます。
update-alternativesの詳細な説明とコマンドは manpagesをご覧ください。
Pythonの実行位置とAlternative説明
which python
コマンドを使用すると、現在使用してPythonのがどこにインストールされているかどうかがわかります。
ファイル名を見ると、実際の位置がではなく、シンボリックリンクであり、Pythonのは、実際のインストール場所を指すようです。
$ python -V
Python 2.7.14
$ which python
/usr/bin/python
ls -al /usr/bin/python
にどのファイルを指していることを確認することができます。
このファイルが示すファイルは、 /usr/bin/python2.7
です。
$ ls -al /usr/bin/python
lrwxrwxrwx 1 root root 24 4월 18 19:28 /usr/bin/python -> /usr/bin/python2.7
そして、 ls /usr/bin/
を見ると、さまざまなバージョンのPythonの実行ファイルがあります。
$ ls /usr/bin/ | grep python
python
python2
python2.7
python3
python3.6
.....
ご存知の通り、PCには複数のバージョンのPythonのがインストールされているAlternativeで、主に使用Pythonのを選択する方法で管理をしています。
update-alternativesは、次のような機能をしてバージョン管理を簡単にすることができます。
- 現在、/usr/bin/python => /usr/bin/python2.7 を指しています。
- Pythonの3.6に変更するには、/usr/bin/python => /usr/bin/python3.6 を指すように変更する必要があります。
- Pythonの3.7に変更するには、/usr/bin/python => /usr/bin/python3.7 を指すように変更する必要があります。
update-alternativesに複数のバージョンのPythonの登録、変更することを試みております。
Update-alternativesでPythonのバージョン登録および変更
まず、Pythonを登録する前に、既に登録されていることを確認する必要があります。
update-alternatives --config python
オプションのpythonのバージョンを変更するオプションです。
もし次のerrorログのように設定されたことがないとすれば、何も登録されたことがないことを意味します。
$ sudo update-alternatives --config python
update-alternatives: error: no alternatives for python
update-alternatives --install [symbolic link path] python [real path] number
コマンドは、実行可能ファイルを登録するコマンドです。
以下のように入力すると、2.7と3.6のバージョンが、update-alternativesに登録されます。もちろん、Python 2.7と3.6がインストールされている必要があります。 もし設置位置が私と違う面、自分のPCにインストールされてpathに変更する必要があります。
$ sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1
$ sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.6 2
そして update-alternatives --config python
を再入力すると、登録したPythonのバージョンを選択するメニューが出ます。
$ sudo update-alternatives --config python
There are 2 choices for the alternative python (providing /usr/bin/python).
Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/bin/python3.6 2 auto mode
1 /usr/bin/python2.7 1 manual mode
2 /usr/bin/python3.6 2 manual mode
Press <enter> to keep the current choice[*], or type selection number: 2
目的のメニューの番号を入力して、Pythonのバージョンを確認してみてください。
、Pythonのlinkに沿って行ってみればalternativesコマンドで設定した、 /usr/bin/python3.6
を指します。
$ python --version
Python 3.6.3
$ ls -al /usr/bin/python
lrwxrwxrwx 1 root root 24 4월 18 19:28 /usr/bin/python -> /etc/alternatives/python
$ ls -al /etc/alternatives/python
lrwxrwxrwx 1 root root 18 9월 2 13:59 /etc/alternatives/python -> /usr/bin/python3.6
まとめ
Alternativesは、Pythonだけでなく、Javaなどのすべてのプログラムのバージョンを管理するために使用することができます。 ここで、Pythonを例にしました。
参考
- Ubuntu manpage - update-alternatives
- UbuntuのにPythonの3.7をインストールする方法は、Python3.7のインストール(Ubuntu18.04)を参照してください。
Related Posts
- Linux - Hardware情報を示すコマンド
- Virtualenvインストールとセッティングする方法(Ubuntu)
- Linux - ファイル更新日時 確認
- Vi/Vimから1行または複数行を削除する方法
- UbuntuでGoogleドライブを使用する(ローカルフォルダにマウント)
- Ubuntuで利用可能なテキストエディタの紹介
- Ubuntu(Linux) - RAM(メモリ)サイズの確認
- Ubuntu(Linux)でMicrosoft Edgeブラウザをインストールする方法
- Ubuntu(Linux)からVisual Studio Codeをインストールする
- UbuntuでRight ALTをハンヨンキーに変換する
- Ubuntu - Python 3.9のインストール方法
- Proxy環境でpipを使用する方法
- Linux - IPアドレスを確認
- Linux - MAC Addressを確認する
- Linux - findコマンド
- Ubuntu 20.04 - SSHのインストールと接続方法
- apt remove、purge、autoremoveコマンドの違い
- Ubuntu 20.04 - OpenJDK 11のインストール、削除、
- Ubuntu 20.04 - VLC Playerのインストール
- Ubuntu - kernel更新する方法(manually)
- Bashシェルスクリプトファイルの絶対パスを取得
- Ubuntu18.04のネットワークイーサネットの名前を変更する方法(enp?をeth0に変更)
- Linux - chmodコマンドを使用する方法
- Linuxの - スィベン(Shebang)は何ですか?
- Linuxファイル圧縮コマンドまとめ
- UbuntuのデスクトップにShortcutアイコンを作成する方法
- UbuntuでPythonのバージョンを変更する方法