MacのPythonを2系から3系にアップデートする


概要

 この記事は初心者の自分がRESTfulなAPIとswiftでiPhone向けのクーポン配信サービスを開発した手順を順番に記事にしています。技術要素を1つずつ調べながら実装したため、とても遠回りな実装となっております。

 Macには元からPythonがインストールされていますが、OS 10.15の時点でもバージョンが古い2系です。実際にPythonを書くとなると皆さん3系にアップデートされているようです。そこで自分も3系にアップデートをしたのでその際の手順を記録します。

参考URL

作業環境

Mac OS 10.15 Catalina
固定ネットワーク回線

Pythonのアップデート手順

Mac環境でオススメされている手順は下記のようです。

  • 現在インストールされているPythonのバージョンを確認
  • Homebrewをインストール
  • Homebrew を使ってpyenvをインストール
  • pyenv を設定
  • pyenvを使ってPython 3系をインストール

現在インストールされているPythonのバージョンを確認

まずは念のため自分のMacのPythonのバージョンを確認します。ターミナルを開いて下記のコマンドを入力するとバージョンが表示されます。

$ Python -V

自分のMacにインストールされているバージョンは2系の 2.7.16 でした。

Homebrewのインストール

事前にXcodeを最新版にアップデートしておく事をオススメします。自分の場合、Xcodeが10.3(最新版は作業時点で11.1)の状態でHomebrewをインストールしようとしたところ、インストール中に走る 「Command tools for Xcode 11」のアップデートが上手く完了せず、Xcodeを最新版にアップデートすると解消しました。

Homebrewは開発に必要なミドルウェアなどのパッケージをインストール、管理してくれるツールです。Macのみに対応しています。では早速、Homebrewをインストールします。

Homebrewのサイトにアクセスして、トップページに表示されているインストール用のスクリプトをコピーします。

コピーしたスクリプトをターミナルに貼り付けて実行します。途中でEnterキーの入力やMacのパスワードの入力を求められる事があります。また 「Command tools for Xcode 11」 などのアップデートが実行される事があります。
Homebrewのインストールが上手くいくとターミナルにこのような表示が出ます。

ターミナルでHomebrewがインストールされていることを確認します。バージョンを表示するコマンドを実行して、バージョンが表示されればインストール成功です。

$ brew -v

Homebrew を使ってpyenvをインストール

pyenvはPythonをインストールするためのツールです。まずはHomebrewを使ってpyenvをインストールします。

$ brew install pyenv

1、2分でインストールが完了しました。インストールされている事を確認します。バージョンを確認するコマンドを実行して、表示されればインストール成功です。

$ pyenv -v

pyenv を設定

pyenvでpythonをインストールするには、Macの「.bash_profile」というファイルに設定の追加が必要です。コマンドを使って設定用のコードを追加します。3つのコマンドを実行します。コマンドで上手く設定出来れば何も表示されません。

$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(pyenv init -)"' >> ~/.bash_profile

pyenv を使ってPythonをインストールする

まずインストールできるpythonのバージョンを確認します。下記のコマンドを実行するとバージョンのリストが表示されます。

$ pyenv install --list

今回は3.7.5rc1をインストールする事に決定しました。
3.7系にした理由は、3系のPythonでマイナーアップデートがある程度されているメジャーバージョンだからです。3.7系最新の3.7.5rc1を選択しました。3.8系はまだ3.8.0と3.8-dev しかないので少し様子見します。

下記のコマンドで Python 3.7.5rc1 をインストールします。

$ pyenv install 3.7.5rc1

インストールできたかコマンドで確認します。

$ pyenv versions

すると、インストールしたPythonのバージョンが表示されますが、「system (〜」と表示がされた方に「*」が付いています。この状態ではインストールしたPythonが有効になっていません。有効にするにはグローバル設定が必要です。設定をしないとシステム内で古いバージョンが使われます。コマンドは下記の通りです。

$ pyenv global 3.7.5rc1

もう一度 pyenv versions コマンドを実行して設定が反映された事を確認します。グローバル設定したPythonのバージョンが有効になっていれば、Pythonのバージョンを確認するコマンドを実行した時にグローバル設定したPythonのバージョンが表示されるようになります。

$ python -V

以上でPythonのアップデートは完了です。

次は Pythonの簡単なプログラムを書いて動かしてみます