Python2からPython3に切り替える方法を現役エンジニアが解説【初心者向け】

初心者向けにPython2からPython3に切り替える方法について現役エンジニアが解説しています。Pythonを別のパスにインストールする方法やpyenvを使う方法があります。pyenvを使うと同一のマシン上で複数バージョンのPythonを切り替えながら扱えます。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営。初心者向けに解説した記事が4,000以上あります。現役エンジニアの方はこちらをご覧ください。

Python2からPython3に切り替える方法について解説します。

Pythonについてそもそもよく分からないという方は、Pythonとは何なのか解説した記事をまずご覧ください。

 

なお本記事は、TechAcademyのPythonオンライン講座の内容をもとにしています。

 

田島悠介

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

大石ゆかり

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

田島悠介

Python2からPython3に切り替える方法について詳しく説明していくね!

大石ゆかり

お願いします!

 

現在のversion(バージョン)を確認

この記事の執筆にあたり、CentOS7を利用しました。
以下の通り、デフォルトではPython 2.7.5がインストールされています。

 

$ python --version
Python 2.7.5

利用するソフトウェアや、システム開発の都合上、Python2を残しつつ、Python3をインストールしたい場合があります。

1つの方法はPythonを別のパスにインストールすることです。(例えば /usr/bin/python がPython2、/usr/local/bin/python がPython3)

もう1つの方法がこの記事で紹介するpyenvを用いるものです。
pyenvを使うと、同一のマシン上で、複数バージョンのPythonを切り替えながら扱えます。

pyenvをインストールする

この記事ではpyenv-installerを用いてインストールします。
gitが必要なため、あらかじめインストールしておきます。

$ sudo yum install git

pyenvをインストールします。

$ curl https://pyenv.run | bash

インストール後に出力されるメッセージに従い、~/.bashrcに記述を追加します。

export PATH="/home/vagrant/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"

 

ログインしなおすと、pyenvを使える状態になりました。

$ pyenv
pyenv 1.2.13
Usage: pyenv <command> [<args>]

Some useful pyenv commands are:
   commands    List all available pyenv commands
   local       Set or show the local application-specific Python version
   global      Set or show the global Python version
   shell       Set or show the shell-specific Python version
   install     Install a Python version using python-build
   uninstall   Uninstall a specific Python version
   rehash      Rehash pyenv shims (run this after installing executables)
   version     Show the current Python version and its origin
   versions    List all Python versions available to pyenv
   which       Display the full path to an executable
   whence      List all Python versions that contain the given executable

See `pyenv help ' for information on a specific command.
For full documentation, see: https://github.com/pyenv/pyenv#readme

 

[PR] Pythonで挫折しない学習方法を動画で公開中

pyenvでPython3をインストールする

Pythonのビルドのために必要なコンパイラ類をインストールします。

この記事では一括インストールしますが、gcc等を個別にインストールしてもかまいません。
なお、筆者の環境ではzlib-devel, libffi-devel, openssl-develも必要でした。

$ sudo yum groupinstall "Development Tools"
$ sudo yum install zlib-devel libffi-devel openssl-devel

 

以下コマンドでバージョン候補が表示されます。

 

$ pyenv install -l

この記事では最新の3.7.4をインストールします。

以下コマンドを実行します。Pythonをソースコードからビルドするため、完了まで時間を要します。

 

$ pyenv install 3.7.4

インストールが完了すると、以下のようになりました。

 

$ pyenv versions
* system (set by /home/vagrant/.pyenv/version)
  3.7.4

 

Python3に切り替える

pyenvにはlocalとglobalコマンドがあります。
localはディレクトリ配下にのみ影響します。globalは環境全体に影響します。

はじめにlocalコマンドを試します。
以下のようにexampleディレクトリに移動し、localコマンドを使います。

$ cd example/
$ pyenv local 3.7.4
$ python --version
Python 3.7.4

上記の通り、Pythonのバージョンが3.7.4に切り替わりました。

上位のディレクトリに移動すると、Pythonのバージョンは2.7.5のままです。

 

$ cd ..
$ python --version
Python 2.7.5

 

次にglobalコマンドを試します。

$ cd example/
$ pyenv global 3.7.4
$ python --version
Python 3.7.4
$ cd ..
$ python --version
Python 3.7.4

pyenvを実行したディレクトリ、他のディレクトリの両方で、Pythonのバージョンが3.7.4になっています。

 

監修してくれたメンター

橋本紘希

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

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

 

大石ゆかり

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

田島悠介

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

大石ゆかり

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

オンラインのプログラミングスクールTechAcademyではPythonを使って機械学習の基礎を学ぶPythonオンライン講座を開催しています。

初心者向けの書籍を使って人工知能(AI)や機械学習について学ぶことができます。

現役エンジニアがパーソナルメンターとして受講生に1人ずつつき、マンツーマンのメンタリングで学習をサポートし、最短4週間で習得することが可能です。

また、現役エンジニアから学べる無料のプログラミング体験会も実施しているので、ぜひ参加してみてください。