monotone blog

Macに「Python 3」環境を構築しました

Python 3

先日から少しずつ「Python」というプログラミング言語の勉強を始めています。

そこで、私がメインマシンとして使っているMacに「Python 3」の環境を構築することにしました。

Mac OSには最初からPythonがインストールされているのですが、(私の環境では)バージョンが「2.7.10」なんですよね。
(YosemiteとSierraで確認しましたが、どちらも同じでした。)

ちなみに、Pythonのバージョンを確認するには、ターミナルで次のコマンドを実行します。

$ python --version
Python 2.7.10

Pythonには「2系」と「3系」があり、それぞれに互換性がないのですが、私は「3系」を使いたいので、「pyenv」というバージョン管理ツールを導入することにします。

pyenvの導入

pyenv」は「Homebrew」でインストールすることができます。

$ brew install pyenv

ちなみに、「Homebrew」がインストールされていない場合は、先に次のコマンドでインストールしてください。

$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

pyenvのインストールが正常に完了すれば、次のコマンドでバージョンを確認することができます。

$ pyenv -v
pyenv 1.0.4

さらに、次のコマンドで、pyenvでインストール可能なPythonの一覧を表示します。

$ pyenv install -list
Available versions:
  2.1.3
  2.2.3
  2.3.7
  2.4
・・・(略)
  3.5.1
  3.5.2
・・・(略)

上記リストの中から、今回は「3系」の最新版である「3.5.2」をインストールします。

Python 3系のインストール

次のコマンドで、Python 3.5.2をインストールします。

$ pyenv install 3.5.2
$ pyenv rehash

私の環境では最初エラーが出たんですが、次のコマンドを実行したあと、ソフトウェア・アップデートで「Command Line Tools for Xcode」をインストールして、あらためて試してみると上手くいきました。

$ xcode-select --install

正常にインストールできれば、次のコマンドでインストール済バージョンを確認することができます。

$ pyenv versions
* system (set by /Users/***/.pyenv/version)
  3.5.2

pyenvのパス設定

pyenvでインストールされたPythonを標準で使用するためには、下記コマンドで「~/.bash_profile」に設定を追記します。

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

次に、「.bash_profile」の内容をbashに反映します。

$ source .bash_profile

デフォルトバージョンの設定

次のコマンドで、デフォルトのPythonバージョンを指定します。

$ pyenv global 3.5.2

念のため、正常に切り替わっているか確認します。

$ Python --version
Python 3.5.2

無事に、「Python 3.5.2」がデフォルトバージョンに設定されました。

動作確認

最後に、動作確認をしてみましょう。

$ python
Python 3.5.2 (default, Nov 28 2016, 00:00:00)
>>> print('Hello, World!')
Hello, World!
>>> quit()
$

関連書籍

入門 Python 3
posted with amazlet at 16.11.27
Bill Lubanovic
オライリージャパン
売り上げランキング: 763

斎藤 康毅
オライリージャパン
売り上げランキング: 71

Sebastian Raschka
インプレス (2016-06-30)
売り上げランキング: 3,602
モバイルバージョンを終了