icon
icon

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

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

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

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を使った人工知能(AI)や機械学習の基礎を習得できるオンラインブートキャンプPython講座を開催しています。

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