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: python
と python3
はどう違う?
Ubuntuでは python3
が標準であり、python
はPython 2系を指すことがあります。
そのため、最新の環境では python3 --version
を使うのが推奨 されます。
Q2: python --version
で表示されるバージョンが意図と異なる場合の対処法は?
update-alternatives
や pyenv
を使ってデフォルトの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
を試してみてください。
関連サイト