UbuntuでPythonのバージョンを確認・変更・切り替える方法【完全ガイド】

目次

1. はじめに

UbuntuでPythonを使用する際、Pythonのバージョン管理 は重要なポイントです。
Pythonは定期的に新しいバージョンがリリースされ、開発環境によっては異なるバージョンを使用する必要があります。

しかし、Ubuntuには 複数のPythonバージョンが共存 していることがあり、
「現在のPythonのバージョンを確認したい」
「特定のバージョンを使用したい」
「Pythonのバージョンを切り替えたい」
といった場面に直面することが多いです。

この記事では、UbuntuでPythonのバージョンを確認・変更・切り替える方法 を詳しく解説します。
コマンド例を交えながら、初心者でも迷わず実践できるように説明しますので、ぜひ最後までご覧ください。

2. Pythonのバージョンを確認する【今すぐ試せる!】

まずは、現在のUbuntuにインストールされているPythonのバージョンを確認する方法を紹介します。

2.1 最も簡単な方法(1秒で確認)

UbuntuでPythonのバージョンを確認する最も簡単な方法は、ターミナルで以下のコマンドを実行することです。

python3 --version

または、以下のコマンドでも同じ結果が得られます。

python3 -V

実行例:

$ python3 --version
Python 3.10.6

このように、現在のPythonのバージョンが表示されます。

2.2 python --version との違い

Ubuntuでは、python コマンドはPython 2系を指す場合がある ため、
通常 python3 --version を使用するのが推奨されます。

以下のコマンドで python がインストールされているか確認できます。

python --version

もし Command 'python' not found というエラーが出た場合、Python 3のみがインストールされている可能性 があります。

2.3 詳細なバージョン情報を取得する

Pythonのより詳細なバージョン情報を確認したい場合は、以下のコマンドを実行します。

python3 -VV

実行例:

$ python3 -VV
Python 3.10.6 (main, Jan 16 2024, 11:25:20) [GCC 11.2.0]

このコマンドを使うと、コンパイルに使用されたGCCのバージョンやビルド日時などの詳細な情報を確認できます。

2.4 Pythonスクリプト内でバージョンを取得

Pythonスクリプト内で、Pythonのバージョンを取得したい場合は sys モジュールを使用します。

import sys
print(sys.version)
print(sys.version_info)

実行例:

$ python3 script.py
3.10.6 (main, Jan 16 2024, 11:25:20) [GCC 11.2.0]
sys.version_info(major=3, minor=10, micro=6, releaselevel='final', serial=0)

sys.version_info を使うと、バージョンの各要素(メジャー、マイナー、マイクロ)を数値で取得できます。

3. Pythonのバージョンを変更・管理する【システムのデフォルトを設定】

Ubuntuでは、複数のPythonバージョンがインストールされていることがあります。
このセクションでは、システム全体で使用するPythonのデフォルトバージョンを変更する方法を解説します。

3.1 インストール済みのPythonバージョンを確認

まず、UbuntuにインストールされているPythonのバージョンを確認します。

ls /usr/bin/python*

実行例:

$ ls /usr/bin/python*
/usr/bin/python3  /usr/bin/python3.8  /usr/bin/python3.10

このように複数のバージョンがインストールされている場合、どのバージョンをデフォルトにするか を選択できます。

3.2 update-alternatives でデフォルトのPythonを切り替える

Ubuntuでは、update-alternatives を使用してデフォルトのPythonバージョンを切り替えることができます。

まず、現在の設定を確認します。

sudo update-alternatives --display python

もし python が登録されていない場合は、以下のコマンドで登録できます。

sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.10 1
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.8 2

次に、デフォルトのバージョンを選択します。

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.10  1         auto mode
  1            /usr/bin/python3.10  1         manual mode
  2            /usr/bin/python3.8   2         manual mode

Press <enter> to keep the current choice[*], or type selection number: 

ここで、切り替えたいバージョンの番号を入力すれば、デフォルトのPythonバージョンが変更されます。

3.3 シンボリックリンクを手動で変更

update-alternatives を使わずに、シンボリックリンクを変更することでデフォルトのPythonを設定することもできます。

sudo ln -sf /usr/bin/python3.10 /usr/bin/python

この方法を使うと、システム全体で python コマンドが python3.10 を指すようになります。

4. プロジェクトごとにPythonのバージョンを切り替える方法

UbuntuでPythonを使用する際、プロジェクトごとに異なるバージョンを管理したい ことがあります。
例えば、あるプロジェクトでは Python 3.10、別のプロジェクトでは Python 3.8 を使いたい場合です。
このようなケースでは、仮想環境(venv)やpyenvを活用 すると便利です。

このセクションでは、仮想環境と pyenv を使って Pythonのバージョンを簡単に切り替える方法 を紹介します。

4.1 venvを利用して環境ごとにバージョンを管理

Pythonには標準機能として venv(仮想環境) があります。
仮想環境を使うと、特定のディレクトリ内で異なるPythonのバージョンやライブラリを管理できます。

venvを使った仮想環境の作成

まず、仮想環境を作成したいディレクトリに移動し、以下のコマンドを実行します。

python3 -m venv myenv

これで、myenv という仮想環境が作成されます。

仮想環境を有効化

仮想環境を有効化するには、以下のコマンドを実行します。

source myenv/bin/activate

有効化すると、ターミナルのプロンプトが変わります。

(myenv) user@ubuntu:~/project$

この状態では、仮想環境内のPythonが使用されます。

仮想環境内のPythonバージョンを確認

仮想環境内でPythonのバージョンを確認するには、以下のコマンドを実行します。

python --version

仮想環境を無効化

仮想環境を終了する場合は、以下のコマンドを実行します。

deactivate

この方法を使えば、プロジェクトごとにPythonのバージョンやパッケージを独立して管理 できます。

4.2 pyenv を使ってPythonのバージョン管理

venv では仮想環境ごとにPythonのバージョンを管理できますが、
システム全体のPythonバージョンを自由に切り替えたい場合は pyenv を使うと便利 です。

pyenvのインストール

まず、pyenv をインストールします。
Ubuntuでpyenvをインストールするには、以下のコマンドを実行します。

curl https://pyenv.run | bash

インストール後、以下のコマンドを実行して設定を反映します。

exec $SHELL

pyenvでPythonのバージョンをインストール

pyenv を使ってPythonのバージョンをインストールするには、以下のコマンドを実行します。

pyenv install 3.10.6

インストール可能なバージョンを確認する場合は、以下のコマンドを実行します。

pyenv install --list

pyenvでPythonのバージョンを切り替え

システム全体でPythonのバージョンを変更する場合は、以下のコマンドを実行します。

pyenv global 3.10.6

特定のディレクトリ内だけでバージョンを切り替える場合は、以下のコマンドを実行します。

pyenv local 3.8.10

現在のPythonバージョンを確認

pyenv で現在のPythonバージョンを確認するには、以下のコマンドを実行します。

pyenv versions

この方法を使えば、プロジェクトごとに異なるPythonのバージョンを簡単に管理 できます。

5. よくある質問(FAQ)【トラブル解決】

ここでは、UbuntuでPythonのバージョン管理をする際によくある疑問やトラブルシューティングを紹介します。

Q1: pythonpython3 はどう違う?

Ubuntuでは python3 が標準であり、python はPython 2系を指すことがあります。
そのため、最新の環境では python3 --version を使うのが推奨 されます。

Q2: python --version で表示されるバージョンが意図と異なる場合の対処法は?

update-alternativespyenv を使ってデフォルトのPythonを変更できます。

  • update-alternatives を使う方法:
sudo update-alternatives --config python
  • pyenv を使う方法:
pyenv global 3.10.6

Q3: python3 --version で表示されるのに python で動かないのはなぜ?

システムに python コマンドがインストールされていない可能性があります。
以下のコマンドで python のシンボリックリンクを作成すると解決します。

sudo ln -sf /usr/bin/python3 /usr/bin/python

Q4: Ubuntuで古いPythonを削除する方法は?

まず、インストール済みのPythonを確認します。

apt list --installed | grep python

特定のPythonバージョンを削除する場合は、以下のコマンドを実行します。

sudo apt remove python3.6

Q5: 古いPythonを削除してもUbuntuに影響はある?

Ubuntuのシステムツールは特定のPythonバージョンに依存していることがあるため、
python3 --version を確認し、必要なバージョンが残っているかチェックするのが安全です。

削除する場合は、まずどのPythonがインストールされているか確認してから実行してください。

apt list --installed | grep python

6. まとめ & 次に読むべき記事

ここまでで、UbuntuでPythonのバージョンを確認・変更・切り替える方法 を詳しく解説しました。

  • Pythonのバージョン確認python3 --version
  • システム全体のバージョン変更update-alternatives または ln -sf
  • プロジェクトごとのバージョン管理venv(仮想環境)または pyenv

特に、pyenv を活用すると、Pythonのバージョン管理が簡単になります。
「複数のプロジェクトで異なるバージョンを使いたい」「デフォルトのPythonを変更したい」場合は、ぜひ pyenv を試してみてください。

関連サイト

Pythonプログラミングの世界

Pythonプログラミングの世界へようこそ!初心者から上級者まで、Pythonの基礎から応用、データ分析やWeb開発まで…

 

侍エンジニア塾