オーダーメイドコース
icon
icon

Pythonでversionを切り替える方法を現役エンジニアが解説【初心者向け】

初心者向けにPythonでversionを切り替える方法について現役エンジニアが解説しています。Pythonのバージョンには2系と3系の2つがあり互換性がありません。混在させバージョンを切り替えるには、インストールフォルダを分けたり、pyenvのようなバージョン切り替えツールを使います。

テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日  調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名  調査手法:インターネット調査

Pythonでversionを切り替える方法について解説します。

そもそもPythonについてよく分からないという方は、Pythonとは何なのか解説した記事を読むとさらに理解が深まります。

 

なお本記事は、TechAcademyのオンラインブートキャンプPython講座の内容をもとに紹介しています。

 

田島悠介

今回は、Pythonに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

Pythonでversionを切り替える方法について詳しく説明していくね!

大石ゆかり

お願いします!

 

Pythonのバージョンの種類

Pythonのバージョンには大きく分けて2系と3系の2つがあります。記事執筆時点で2系の最新版は2.7.16、3系の最新版は3.8.0です。

2系と3系には文法や機能面で差異があり、相互に互換性がありません。2系は2020/1/1でサポート終了の予定です。それ以降は機能追加やバグ修正が行われなくなります。

なぜバージョンを切り替えるのか

2系のサポート終了が迫っているため、最近のPythonソフトウェアは3系で作成される傾向にあります。一方、2系で作成され、現役で動作しているPythonソフトウェアもあります。

上述の通り、2系と3系には相互に互換性がありません。同一マシン上でPython 2系のソフトウェアと、3系のソフトウェアを共存させたい場合、適宜バージョンを切り替える必要が生じます。

[PR] 未経験からWebエンジニアを目指す方法とは

Pythonのバージョンを確認する方法

以下のコマンドでPythonのバージョンを確認できます。

Python2の場合

$ python --version
Python 2.7.5

Python3の場合

$ python --version
Python 3.7.4

 

Pythonのバージョンを切り替える方法

インストール先を分けると、同一マシン上にPythonの複数バージョンをインストールできます。

(例)/usr/bin/pythonをPython2、/usr/local/bin/pythonをPython3とする。

他には、本記事で紹介するpyenvを用いると、複数バージョンのPythonを簡単に切り替えられます。

実際にpyenvを使ってみよう

pyenvのインストール方法は上記Webサイトの通りです。以下コマンドで、インストールできるPythonのバージョン一覧が表示されます。

$ pyenv install -l
Available versions:
  2.1.3
  2.2.3
  2.3.7
#(...以下略...)

pyenv install <バージョン> コマンドで指定のバージョンをインストールします。pyenv versions コマンドでインストール済バージョンが表示されます。

$ pyenv install 2.7.16
$ pyenv install 3.7.4
$ pyenv versions
  system
  2.7.16
  3.7.4

pyenv local <バージョン> コマンドで、カレントディレクトリ配下で使用するPythonのバージョンを決定します。pyenv global <バージョン> コマンドで、システム全体で使用するPythonのバージョンを決定します。

2.7.16から3.7.4にバージョンを切り替えてみます。

$ pyenv local 2.7.16
$ python --version
Python 2.7.16

$ pyenv local 3.7.4
$ python --version
Python 3.7.4

 

監修してくれたメンター

橋本紘希

システムインテグレータ企業勤務のシステムエンジニア。

開発実績: Javaプログラムを用いた業務用Webアプリケーションや、基幹システム用バッチアプリケーションなどの設計構築試験。

 

大石ゆかり

内容分かりやすくて良かったです!

田島悠介

ゆかりちゃんも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

 

TechAcademyでは、初心者でもPythonを使った人工知能(AI)や機械学習の基礎を習得できるオンラインブートキャンプPython講座を開催しています。

挫折しない学習方法を知れる説明動画や、現役エンジニアとのビデオ通話とチャットサポート、学習用カリキュラムを体験できる無料体験も実施しているので、ぜひ参加してみてください。