MacでおすすめのPython環境作成方法

MacにPythonのプログラミングする環境を作るのにおすすめの方法です。

MacのPython環境

MacでPythonを動かすにはいろいろな方法があります。

まずは、何もインストールせずにデフォルトでPythonは動作します。

ですが、Python2系だけがインストールされていてバージョンも古い可能性があります。

Python3系を使いたい時は別途インストールする必要があります。

MacにPythonをインストールするには複数の方法があります。

  1. 本家版Pythonをインストール(本家サイトからダウンロード)
  2. 幾つかのモジュールが含まれたPythonのパッケージ(Anacondaなど)
  3. Homebrewを使ったインストール

大きくこの3種類の選択肢が挙げられると思います。

Pythonは2系や3系やパッケージなど複数あって、学習し始めはPython2系だけで外部モジュールも使うことがなかったのが、しばらくするとPython3系や外部モジュールも使い始める機会が出てくるかと思います。

Pythonでプログラミングするときは、ほぼ必須でモジュールやライブラリを使います。

プログラミングをするときに、必要になったモジュールやライブラリをその都度使えるようにするのはちょっと面倒です。

また、個別にインストールすると管理も煩雑になって何がインストールしているのわからなくなることもあるかも知れません。

そんな中でおすすめする方法が3.のHomebrewを使ったインストールです。

それに加えてpyenvというパッケージを使うことでより管理しやすくなります。

pyenvはいろいろなPythonのバージョンを管理するツールです。

そして、pyenvを使ってPythonのパッケージ(Anacondaなど)をインストールできるので、パッケージを含めた複数のPython環境をまとめて簡単に管理できるようになります。

まとめると以下のような利点があります。

  • HomebrewでPythonのインストールを単純化してパッケージ管理しやすくなる
  • pyenvを使って利用する様々なPythonを簡単に切り替えることができる
  • 必要なくなるとアンインストールも簡単にできる

それではHomebrewを使ってPythonのプログラミングする環境を作っていきましょう。

手順は以下になります。ここではPythonパッケージのAnacondaをインストールします。

  1. Homebrewをインストール
  2. Homebrewでpyenvをインストール
  3. pyenvでAnacondaをインストール

これらはすべてターミナルを使って実行します。

Homebrewのインストール

HomebrewはmacOS用のパッケージ管理システムです。

いろいろなコマンドラインツールを簡単にインストール管理できるシステムです。

Ubuntuの”apt-get”と同じようなものです。

HomebrewをインストールするにはXcodeのCommand Line Tools(CLT)が必要ですが、Xcodeをインストールすると自動的にCLTもインストールされます。

なので、Xcodeが入っていない場合はApp Storeからインストールしましょう。

Xcodeが入っているのにCLTがインストールされていない場合は以下のコマンドでインストールできます。

$ xcode-select --install

Homebrewをインストールしたあとで、コマンドを使うとXcodeのエラーがでる場合は、上記コマンドでCLTをインストールしてください。

(例えば、「brew upgrade」などのコマンド実行時に「Error: Xcode alone is not sufficient on Sierra.」といったエラーがでる場合がある)

コマンドラインツールだけをインストールすることもできます。

以下のURLへアクセスし「Command Line Tools」の.dmgファイルをダウンロードしてインストールしてください。

・Apple Developer

コマンドラインツールがインストールできたら、Homebrewのサイトへ行き画面にあるスクリプトをターミナルに貼り付けて実行します。

するとHomebrewがインストールされます。

インストールには数分かかります。

完了したら以下のコマンドでHomebrewに問題がないかチェックしてください。

$ brew doctor

もしWarningなど出た場合は解消しておくことをおすすめします。

Homebrewでpyenvをインストール

pyenvは単独でインストールできますが、ここではHomebrewを使ってインストールします。

以下のコマンドでインストールします。

$ brew install pyenv

インストールできたら以下のコマンドでpyenvを初期化するコマンドを.bash_profileに記述してコマンドを有効にします。

$ echo 'eval "$(pyenv init -)"' >> ~/.bash_profile
$ exec -l $SHELL

Homebrewを使わずにpyenvをインストールした場合は、以下の環境変数の設定を.bash_profileに記述してください。

$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile

macOS MojaveではpyenvでPythonインストール時にエラーが発生します。

以下の記事を参考に対応してください。

Macでpyenvを使ってPythonのインストールがzlibエラーとなる時の対処法

pyenvでAnacondaをインストール

まず以下のコマンドでインストール可能なバージョンを確認します。

$ pyenv install -l

最新のAnacondaをインストールします。ここでは3系をインストールします。

$ pyenv install anaconda3-5.0.0

以下のコマンドでインストールを確認します。

$ pyenv versions

すると以下のように一覧が表示されたかと思います。

* system (set by /Users/hogehoge/.pyenv/version)
anaconda3-5.0.0

アスタリスクの付いているのは現在pythonコマンドで動作するバージョンです。

バージョンを切り替えるには以下のコマンドを実行します。

$ pyenv global anaconda3-5.0.0

インストールを確認するとアスタリスクの付いているpythonが変わっているかと思います。

$ pyenv versions
system
* anaconda3-5.0.0 (set by /Users/birdy/.pyenv/version)

そしてPythonのバージョンを確認すると3系になっているかと思います。

$ python --version
Python3.6.2 :: Anaconda, Inc.

pyenvでPythonのバージョンが切り替わらなかった場合の対処方法

$ pyenv global 3.7.4

コマンドを入力したあと、pyenvではバージョンが切り替わっているのに、動作するpythonのバージョンが切り替わらない場合

$ pyenv versions
  system
  2.7.16
* 3.7.4(set by /Users/user/.pyenv/version)
$ python -V
Python 2.7.16

以下の確認をしてみてください。

まずはHomebrewをインストールしたあとに上記に記述があるように「pyenv init」が.bash_profileに記述されているかどうかを確認して、なければ追記してください。

eval "$(pyenv init -)"

これを追記したら以下を実行

source ~/.bash_profile

そして、PATH環境変数に「$HOME/.pyenv/shims」があるかどうかを確認してください。

echo $PATH

なければ、以下を.bash_profileに追記してください。

export PATH="$HOME/.pyenv/shims:$PATH"

これを追記したら以下を実行

source ~/.bash_profile

これでpythonのバージョンを確認してください。

$ python -V

それでもバージョンが切り替わらない場合は以下を確認してください。

$ vi /etc/paths
/usr/local/bin
/usr/bin
/bin
/usr/local/sbin
/usr/sbin
/sbin

もしpathが上の順序になっていなければ、/usr/binと/usr/local/binの記述を入れ替えて、/usr/local/binが優先されるようにしてください。

最後に

こうすることで使いたいPythonを簡単にインストールや切替ができるようになります。

また、今インストールしているものを確認することもできます。

パッケージを単純化できるいい方法なので是非試してみてください。