Pythonバージョン切り替えの方法を初心者向けに解説

はじめに

Pythonを学び始めると、さまざまな場面で「環境を整える」という作業が必要になるのではないでしょうか。
その中でも、多くの方が最初に戸惑うのがPythonのバージョン切り替えです。
複数のプロジェクトで異なるバージョンを使う場面が出てきたり、特定のライブラリを動かすのに特定のバージョンが必要になったりと、いろいろなケースがあるはずです。

一方で、バージョンを切り替える手順を誤ってしまうと、インストールされているPython同士が干渉してしまうこともあります。
また、初心者の方にとってはシステム環境変数の設定やPythonのパスの扱いなど、慣れない用語が多く登場するので、一気に難しさを感じるかもしれません。

そこで本記事では、Windows、Mac、Linuxなど各種OSでのPythonバージョン切り替え方法を、わかりやすく紹介していきます。
pyenvと呼ばれるツールを使った管理方法もあわせて解説しますので、ぜひ参考にしてみてください。

この記事を読むとわかること

  • Pythonのバージョンを切り替える基本的な考え方
  • Windows、Mac、Linuxそれぞれでの切り替え手順
  • pyenvを活用したより柔軟なバージョン管理方法
  • バージョン切り替え時に陥りやすいトラブルと対処法
  • 具体的な利用シーンと運用のコツ

上記の内容を順番に追いかけることで、複数のPythonバージョンを安心して切り替えられるようになります。

Pythonのバージョン管理とは何か

Pythonは幅広い分野で使われるプログラミング言語です。
しかし、同じ「Python」といっても、複数のバージョンが存在します。
そして、バージョンによって若干の仕様や対応しているライブラリが異なることも特徴のひとつです。

あるプロジェクトでは特定のバージョンが望ましい場合や、新しいバージョンが出たので乗り換えてみたい場合もあるでしょう。
実務では、動かしたいライブラリが特定のバージョンのみサポートしていることもあります。
こういった理由から、「Pythonのバージョン管理」は重要な作業になります。

一方で、Pythonはシステムにひとつだけ存在するわけではありません。
方法によっては、同じOS上に複数のPythonを共存させることが可能です。
バージョン管理とは、こうした複数のPythonインストールを整理し、使いたいバージョンを正しく選んで動かすための仕組みといえます。

プログラミング初心者の方にとっては、なぜバージョン管理が必要なのかピンとこない場合もあるかもしれません。
しかし、実際にプロジェクトを進めていくうちに、「このプロジェクトはAというバージョンで開発したい」「別のプロジェクトはBというバージョンでないとうまく動かない」というケースが少なくありません。
そうしたときにスムーズに対応できるよう、本記事でしっかり理解していきましょう。

Pythonバージョンを切り替える理由

Pythonバージョンを切り替えた方がいいシーンは、実務でもよくあります。
ここでは、具体的な例を挙げながら解説していきます。

ライブラリの互換性

Pythonで利用できるライブラリは数多く存在します。
しかし、あるライブラリが特定のバージョンにしか対応していない場合や、逆に特定のバージョンではエラーを起こすケースもあります。
そうしたときに、今使っているPython本体のバージョンを簡単に切り替えられると作業がスムーズになります。

プロジェクトごとの要件

開発しているプロジェクトが異なるバージョンを必要とする場面も多いです。
たとえば、大規模なシステム開発では使用するライブラリやフレームワークがあらかじめ指定されている場合もあるでしょう。
そうした場合に柔軟にバージョンを変えられないと、チームでの作業に支障をきたすこともあります。

新機能の試験運用

Pythonにはバージョンを重ねるごとに新機能や構文が加わっていきます。
試しに新しい文法やライブラリに触れてみたいと思ったとき、すぐに別バージョンを導入してテストできると便利です。
必要に応じてすぐ切り替えができる環境を作っておくことで、学習コストや調査時間の短縮にもつながります。

Pythonバージョンの確認方法

まずは、自分が使っているPythonがどのバージョンなのかを確認するところから始めましょう。
確認は非常に簡単で、基本的にはターミナルやコマンドプロンプトでコマンドを実行するだけです。
ここでは、OSごとに確認方法を紹介します。

Windowsでの確認

Windowsの場合、コマンドプロンプトやPowerShellを開き、以下のコマンドを入力します。

python --version

上記を実行すると、Pythonのバージョン番号が表示されます。
あるいは、pyコマンドを使って確認する方法もあります。

py --version

どちらで確認できるかは、インストール環境によって異なる場合があります。
一般的には、py --versionの方がよりWindowsに特化した確認コマンドといえます。

Macでの確認

Macでは、ターミナルを開いて同様に以下のコマンドを実行します。

python3 --version

Macには元々Pythonがプリインストールされているケースもありますが、システムによってはpython --versionで古いバージョンが呼び出される場合もあります。
よって、Python 3系を使う方はpython3 --versionでバージョンを確認するのがわかりやすいでしょう。

Linuxでの確認

Linux系OSの場合も、Mac同様にターミナルで以下のコマンドを実行してください。

python3 --version

ディストリビューションによってはpython --versionが別のバージョンを指すこともあります。
システム環境に合わせて、正しいコマンドを使うようにしましょう。

複数バージョンを使い分ける便利な方法

Pythonバージョンを切り替えるのに便利な方法はいくつか存在します。
ここでは、代表的な方法としてpyenvを使う方法と、OS標準のやり方を使うケースをざっくり確認してみます。
いずれの場合も、一度設定を間違えると「思ったバージョンが呼び出せない」などのトラブルが起きやすいので、ポイントを押さえましょう。

pyenvを使ったバージョン切り替え

pyenvは、Pythonのバージョンを簡単に切り替えられるようにするツールです。
開発環境のセットアップを効率化できるため、幅広いプログラマに利用されています。
複数のPythonをインストールして、プロジェクト単位・フォルダ単位でバージョンを切り替えることが可能です。

後ほど詳しく解説しますが、pyenvの大きな利点は「任意のバージョンを簡単に入れられる」点と「ローカル環境ごとにバージョンを指定できる」点です。
プロジェクトAは特定のバージョン、プロジェクトBは別のバージョンといった具合に使い分けたい場合にぴったりです。

OS標準のやり方を使う場合

Windowsでは、複数のPythonをインストールした状態でシステム環境変数やパスの順序を調整して切り替えるケースがあります。
MacやLinuxでは、シンボリックリンクの変更やエイリアスの設定で対応する方法もあります。

しかし、OS標準の方法で複数バージョンを並行して使おうとすると、手動の設定変更が多くなりがちです。
Pythonのパスを変更するたびにコマンドを打ち直したり、設定ファイルを変更したりする必要があるため、初心者の方にとってはややハードルが高いかもしれません。

pyenvの基本的な使い方

ここからは、pyenvの基本的な使い方をより詳しく見ていきましょう。
pyenvを使えば、複数のPythonをインストールして、それぞれのバージョンを気軽に選択できます。
いくつかの手順が必要にはなりますが、慣れてしまうと非常に便利なツールです。

pyenvのインストール

pyenvのインストール方法はOSによって多少異なりますが、一般的な流れは以下のようになります。

  1. Gitなどでpyenvのリポジトリを取得する
  2. 必要に応じてビルドに必要なパッケージをインストールする
  3. シェルの設定ファイル(.bashrc.zshrcなど)にpyenvのパスを通す

Windows向けにはpyenv-winというプロジェクトがあり、こちらを使うと同様の操作が可能です。
インストール後は、ターミナルを再起動してpyenv --versionなどを実行し、pyenvが利用できるかどうかを確認します。

pyenvでPythonをインストール

pyenvが使えるようになったら、次はPython本体をインストールしてみましょう。
pyenvでインストールできるPythonのバージョンは、pyenv install --listで確認できます。
仮に、任意のバージョンをインストールしたい場合は以下のようにコマンドを実行します。

pyenv install 3.x.x

3.x.xの部分を好きなバージョン番号に置き換えて使うイメージです。
インストールが完了すると、そのPython本体はpyenvで管理されるようになります。

pyenvでバージョン切り替え

pyenvでバージョンを切り替えるには、大きく分けて以下の3つの設定方法があります。

  1. global:システム全体で使うPythonのバージョンを指定
  2. local:特定のディレクトリでのみ使うPythonのバージョンを指定
  3. shell:現在のターミナルセッションでのみ有効となるバージョンを指定

たとえば、全体のデフォルトを設定したい場合はこうします。

pyenv global 3.x.x

特定のフォルダに移動して、そのフォルダでのみバージョンを固定したい場合は以下のようにします。

cd /path/to/project
pyenv local 3.x.x

これによって、そのフォルダに.python-versionというファイルが作成され、そこにバージョン情報が記録されます。
また、単発で試したいだけなら、pyenv shell 3.x.xでターミナルを閉じるまでの間だけバージョンを切り替えることが可能です。

実務での利用シーン

実務では、Pythonバージョンを切り替えるシーンがよく登場します。
ここでは、代表的な例を挙げてみます。
初心者の方も、こうした実務的な背景を知ることで、バージョン管理の重要性をより深く理解できるのではないでしょうか。

データ分析とWeb開発を並行する場合

たとえば、データ分析向けに特化したライブラリを活用するプロジェクトと、Webフレームワークを使ったWebサイト開発のプロジェクトを同時進行するケースを考えましょう。
データ分析の方では、あるバージョンで動作確認されているライブラリが中心になる可能性があります。
一方で、Webフレームワークの方では、公式が別のバージョンを強く推奨しているかもしれません。

このように要求が異なるときに、同じOS上で両方の環境を整えてスムーズに切り替えられるのがpyenvなどのツールです。
プロジェクトごとに環境を切り替えることで、ライブラリの競合を最小限に抑えられるのもメリットです。

既存システムをメンテナンスしつつ新機能のテスト

また、すでに運用しているシステムがある場合、安定したバージョンを使っていることが多いでしょう。
しかし、新機能を検証して導入する前にテストを行いたいという場面では、別のバージョンを試してみたくなります。
そうした際に、ローカルだけで別バージョンのPythonを切り替えてテストできるのは大変便利です。

切り替え時のトラブルシュート

初心者の方がPythonバージョンを切り替えるとき、意外とよくあるのが「思ったバージョンが選択されない」というトラブルです。
ほかにも、ライブラリの互換性問題や環境変数の設定ミスなど、さまざまなハマりどころがあります。
ここでは、よくあるケースとその対処法をまとめてみましょう。

PATHの設定ミス

PATHの設定が誤っていると、コマンドを実行したときに意図しないPythonが呼び出されることがあります。
たとえば、Windowsの場合はpyコマンドとpythonコマンドで参照されるパスが異なることもありえます。
また、MacやLinuxではシステムにプリインストールされているPythonが優先されてしまうこともあるでしょう。

PATHの設定を確認するには、以下のようなコマンドを使います。

which python

または

which python3

このコマンドで表示されるパスが、現在どのPythonを参照しているかを示します。
pyenvをインストールしたのに、それが反映されない場合は、シェルの設定ファイル(.bashrc.zshrcなど)に追記漏れや間違いがないか再確認してください。

ライブラリの互換性

別のバージョンに切り替えたら、ライブラリがエラーを起こすという問題もよく起こります。
こうした問題は、バージョン切り替えをした際に、以前の環境でインストールしたライブラリのバージョンが合わなくなることで発生します。
同じライブラリでも、バージョンによっては特定のPythonバージョンにしか対応しない場合もあるため注意が必要です。

解決策としては、 仮想環境 (venvなど) を作成し、その中でライブラリを管理する方法が一般的です。 仮想環境を使えば、どのバージョンのPythonを使っているか、どのバージョンのライブラリをインストールしているかを、プロジェクトごとに分けて管理できます。
バージョン切り替えと組み合わせることで、必要な環境をプロジェクト単位できれいに隔離できる点がメリットといえます。

切り替えによるデメリットと回避策

バージョンを切り替えて使うメリットが多い一方で、いくつかのデメリットも考えられます。
ただし、それらは事前に対策を打っておけば大抵回避可能です。
ここではいくつかの例を挙げつつ、初心者の方が気をつけるポイントを示していきます。

設定ファイルや環境変数が混乱する

複数のPythonをインストールしていると、「どこでどのPythonを使っているか分からなくなる」という混乱が起きることがあります。
pyenvを使っている場合でも、global設定とlocal設定、さらに仮想環境の設定が絡み合うとわかりづらくなる可能性があります。

対処策としては、自分が設定しているバージョンや環境をドキュメント化しておくことが重要です。
たとえば、プロジェクトのREADMEなどに「このプロジェクトではpyenvの○○バージョンを使用し、仮想環境でライブラリを管理する」と書いておくと、いざというときに混乱しにくくなります。

ディスク容量の増加

バージョンを増やすほど、その分だけPython本体とライブラリのインストール先が増えていきます。
結果として、ディスク容量を思ったより圧迫してしまうかもしれません。

不要になったバージョンはpyenvで簡単に削除することができます。
定期的に使わないバージョンをアンインストールしておくことで、ディスク容量を確保し、環境をシンプルに保つことができます。

複数のPythonを同時にインストールする場合、どのバージョンがシステムのデフォルトかをしっかり把握しておきましょう。 誤って想定外のバージョンで作業を進めると、後で環境トラブルの原因になることがあります。

OS別のバージョン切り替え実例

ここでは、Windows、Mac、Linuxそれぞれでの切り替えの一例をシンプルに示します。
すべての環境で同じように動くわけではない場合もありますが、導入の参考として活用してみてください。

Windowsでの例

  1. pyenv-winを導入
    • GitHubなどからpyenv-winのリポジトリをクローンして環境変数を設定する
  2. Pythonインストール
    pyenv install 3.x.x
    pyenv rehash
  3. バージョン切り替え
    pyenv global 3.x.x
  4. 確認
    pyenv versions
    python --version

Macでの例

1. Homebrewを使ってpyenvを導入

brew update
brew install pyenv
  1. 設定ファイルにパスを追記
    • ~/.zshrcなどにeval "$(pyenv init -)"を追加
  2. Pythonインストール
    pyenv install 3.x.x
    pyenv rehash
  3. バージョン切り替え
    pyenv global 3.x.x
  4. 確認
    python --version

Linuxでの例

1. pyenvをソースから導入

git clone https://github.com/pyenv/pyenv.git ~/.pyenv
  1. 設定ファイルにパスを追記
    • ~/.bashrcなどに以下を追加
    export PYENV_ROOT="$HOME/.pyenv"
    export PATH="$PYENV_ROOT/bin:$PATH"
    eval "$(pyenv init -)"
  2. Pythonインストール
    pyenv install 3.x.x
    pyenv rehash
  3. バージョン切り替え
    pyenv global 3.x.x
  4. 確認
    python3 --version

バージョン切り替え時に気をつけるポイント

バージョンを切り替える際に、初心者の方がつまづきやすいポイントをもう少しまとめておきます。
ほんの些細なミスが原因でも、大きなエラーにつながることがあるので注意しましょう。

シェルの再読み込みを忘れない

バージョンをインストールしても、シェルの設定ファイルを再読み込みしないと反映されません。
Windowsの場合はコマンドプロンプトやPowerShellを再起動し、MacやLinuxの場合は.bashrc.zshrcを再読み込みするか、ターミナルを開き直します。

プロジェクト単位のバージョン指定

pyenv localを使って特定フォルダ内のバージョンを固定しておくと、意図しない場所で別バージョンを使ってしまうリスクを減らせます。
プロジェクトを切り替えるたびにバージョンが自動的に変わるので便利です。

ライブラリのインストール先を明確にする

pipコマンドを使うとき、どのPythonバージョンのpipを呼び出しているかを意識しましょう。
pyenvでバージョンを切り替えたあとに仮想環境を作成すると、ライブラリはその仮想環境内にインストールされることになります。
環境が増えるほど混乱しやすいので、プロジェクトごとに整理しておくのがおすすめです。

Pythonバージョン切り替えを成功させる運用のコツ

最後に、バージョン切り替えを活用しながら運用を成功させるためのコツをいくつか紹介します。
初心者の方でも押さえておくと、後々の開発や学習において役立つことが多いでしょう。

プロジェクトごとにREADMEやドキュメントを用意する

「このプロジェクトはどのバージョンで開発しているか」を明確に書いておくだけでも混乱が減ります。
仮に別の人にプロジェクトを引き継ぐときでも、環境構築がスムーズにいくでしょう。

大規模プロジェクトはチームでバージョンを共有

チーム開発の場合、「誰が、どのバージョンを使っているか」を共有しないと、動作不一致やバグの原因になります。
pyenvの.python-versionファイルや仮想環境の管理に関するルールをチームで統一しておくことも大切です。

不要なバージョンはこまめに削除

使わなくなったPythonバージョンは、忘れずにpyenvの管理下から削除することで混乱を防げます。
プロジェクト数が増えると、どうしても環境が散らかりがちなので、定期的に整理する習慣をつけましょう。

バージョン管理をきちんと行うと、どのプロジェクトがどのPythonバージョンで動くのかすぐ分かるようになります。 これは開発効率を上げるだけでなく、トラブルの早期発見にも役立ちます。

まとめ

Pythonのバージョン切り替えは、一見すると複雑そうに思えますが、慣れてしまえばそれほど難しくはありません。
むしろ、プロジェクト単位で自由にバージョンを変えられるようになると、開発の幅が広がります。
初心者の方は最初に少し時間をかけて、pyenvなどのツールを理解し、どのように設定すればよいかを把握してみてください。

また、ライブラリの互換性や環境変数の設定など、細かい部分でトラブルが起こりやすいのも事実です。
しかし、そうしたトラブルが起こったときに「どこを見直すべきか」がわかっていれば、対応もぐっと楽になります。
本記事で紹介したポイントを活かして、スムーズにPythonのバージョン管理を進めていただければ幸いです。

今後も複数のプロジェクトを扱っていく中で、Pythonのバージョン切り替えの必要性を実感する場面は多いでしょう。
そのたびにツールや設定を使いこなして、快適な開発環境を整えてみてください。
そうすることで、プログラミングに集中できる時間が増え、新しいスキルやライブラリにもどんどんチャレンジしやすくなるでしょう。

Pythonをマスターしよう

この記事で学んだPythonの知識をさらに伸ばしませんか?
Udemyには、現場ですぐ使えるスキルを身につけられる実践的な講座が揃っています。