ろきsanの備忘録

タイトル通り、色んなこと備忘録として記述していこうと思います。

【切り替え可能】pyenvでPython3系とAnacondaの両方をインストール for Mac

スポンサーリンク

以前、MacにPythonとAnacondaの両方をインストールし、自由に切り替えられるようにしたので、備忘録として記述します。



これからやること[ 目次 ]

※Homebrewはインストール済みとする


STEP0 : 現在のPythonバージョンを確認

※Macにはじめからインストールされているやつ

$ python --version
Python 2.7.13

f:id:ahrk-izo:20181208091324p:plain:w400

2系で古いね。

STEP1 : Homebrewをアップデート


まずバージョン確認

$ brew -v
Homebrew 1.7.6
Homebrew/homebrew-core (git revision f3d5a; last commit 2018-09-28)

f:id:ahrk-izo:20181208093336p:plain:w500


アップデート

$ brew update

f:id:ahrk-izo:20181208093724p:plain:w500

またバージョン確認

$ brew -v
Homebrew 1.7.6
Homebrew/homebrew-core (git revision 0f12eb; last commit 2018-10-02)

f:id:ahrk-izo:20181208093750p:plain:w500
バージョン変わらず。最新だったか、よし。


STEP2 : pyenvをインストール

とりあえず、バージョン確認してみる

$ pyenv -v
zsh : command not found: pyenv

f:id:ahrk-izo:20181208094150p:plain:w400
zshにはそんなコマンドねぇ!って言われた。
インストールしてないからしょうがない。入れる。

$ brew install pyenv

f:id:ahrk-izo:20181208094349p:plain:w500
...(割愛)
f:id:ahrk-izo:20181208094528p:plain:w500
インストール完了

バージョン確認

$ pyenv -v
pyenv 1.2.7

f:id:ahrk-izo:20181208094749p:plain:w400
OK

STEP3 : pyenvの設定(環境変数)

以下のコマンドを実行

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

これらのコマンドについて少し解説。
ざっくり言うと、

  • 環境変数の設定ファイルである「.bash_profile」にechoコマンドを使って追記している
  • sourceコマンドで変更を反映している(さらにターミナル再起動すると確実)

実際に、コマンド実行前と後で、.bash_profileのファイルの中身を比較してみる

[実行前]

$ cat ~/.bash_profile
export PATH=/usr/local/bin:$PATH
export PATH="$HOME/.rbenv/shims:$PATH"
eval "$(rbenv init -)"

f:id:ahrk-izo:20181208102452p:plain:w400
※ファイルの中身はぼくの環境の場合です

  • catコマンドは、ファイルの中身を表示するコマンド
  • ~はHOMEディレクトリのこと。これでどのディレクトリにいるときでもこのファイルにアクセスできる

[実行後]

$ cat ~/.bash_profile
export PATH=/usr/local/bin:$PATH
export PATH="$HOME/.rbenv/shims:$PATH"
eval "$(rbenv init -)"

export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"

f:id:ahrk-izo:20181208103803p:plain:w400

うん。これで環境変数の設定が完了。
ターミナルを再起動。


一応、環境変数の「PATH」も確認する

$ echo $PATH

f:id:ahrk-izo:20181208105207p:plain:w500
うん。pyenvのが反映されている。


ちなみにぼくは、ターミナルはZshというのを使っていて、Zshでは「~/.zshrc」を読み込むので、このファイルの最後に、

source ~/.bash_profile

というのを記述して、Zsh起動時に、「~/.bash_profile」を読み込むようにしている。ターミナルはiTerm2(余談)


STEP4 : Pythonのインストール

先程インストールしたpyenvでインストールできるPythonのバージョンリストを確認

$ pyenv install --list

f:id:ahrk-izo:20181208121946p:plain:w500
f:id:ahrk-izo:20181208122011p:plain:w500
f:id:ahrk-izo:20181208122035p:plain:w500
※Python3系もあるし、anacondaもある

まずはPythonをインストール
この時点の最新は3.7.0のようなのでそれを。
「-dev」がついているのは開発中なので、それは避ける

Python3.7.0のインストール

$ pyenv install 3.7.0

f:id:ahrk-izo:20181208122506p:plain:w500
失敗した!

...
BUILD FAILED (OS X 10.13.6 using python-build 20180424)
...
zipimport.ZipImportError: can't decompress data; zlib not available
make: *** [install] Error 1

どうやら「xcode command line tools」がインストールされていなかったらしい



せっかくなので、xcode command line toolsのインストール方法も記述する。

$ xcode-select --install

f:id:ahrk-izo:20181208123355p:plain:w500

f:id:ahrk-izo:20181208123433p:plain:w500
「インストール」

f:id:ahrk-izo:20181208123626p:plain:w500
「同意する」

f:id:ahrk-izo:20181208123710p:plain:w500

f:id:ahrk-izo:20181208123726p:plain:w500
「完了」

念の為、ターミナルを再起動して、もう一度Pythonのインストールする。

$ pyenv install 3.7.0

f:id:ahrk-izo:20181208123930p:plain:w500
今度は成功!


pyenvでインストールされたリストを確認
(この時点ではまだPythonのバージョン切り替わってないよ)

$ pyenv versions(set by /Users/(ユーザー名)/.pyenv/version)
* system
  3.7.0

f:id:ahrk-izo:20181208124507p:plain:w400
よし。インストールされてる。

現在はまだ、「*」はsystemのほうにある。
まだPythonバージョンは切り替わってないので、これを3.7.0のほうに切り替える。


pyenvでバージョンバージョン切り替えて、Pythonのバージョン確認

$ pyenv global 3.7.0
$ pythone --version
Python 2.7.13

f:id:ahrk-izo:20181208125022p:plain:w500
f:id:ahrk-izo:20181208125046p:plain:w500
おや?バージョン変わっていない
ってもう何度も引っかかってるやつ。
ターミナルを再起動してもう一度バージョン確認

$ pythone --version
Python 3.7.0

f:id:ahrk-izo:20181208130144p:plain:w500
よし。OKに

いよいよ本命のAnacondaのインストール

STEP5 : Anacondaのインストール

もう一度pyenvでインストール可能なリストの確認

$ pyenv install --list

f:id:ahrk-izo:20181208130704p:plain:w500
Anacondaの最新は3-5.2.0か。


インストール

$ pyenv install anaconda3-5.2.0

f:id:ahrk-izo:20181208130902p:plain:w500
成功

インストールされたpyenvのバージョン確認

$ pyenv versions
  system
* 3.7.0 (set by /Users/(ユーザー)/.pyenv/version)
  anaconda3-5.2.0

f:id:ahrk-izo:20181208131831p:plain:w500
インストールされてる(切り替えはまだされてない)


ちなみに今更だが、Anacondaとは?
Anacondaとは、標準のPythonに数値演算やデータサイエンス、機械学習などでよく利用する機能を組み込んだ特別版のPython。
より強力なPythonということで「大蛇」という名前がついているようだ。
参考:「みんなのPython [第4版]」


STEP6 : バージョン(Python→Anaconda)を切り替える

もうPythonインストールのところでやっているコマンドだけど

$ pyenv global anaconda3-5.2.0

f:id:ahrk-izo:20181208131944p:plain:w500


もう一度pyenvのバージョン確認

$ pyenv versions
  system
  3.7.0
* anaconda3-5.2.0 (set by /Users/(ユーザー)/.pyenv/version)

f:id:ahrk-izo:20181208131859p:plain:w500
切り替わった


最後にPythonのバージョン確認

$ python --version
Python 3.6.5 :: Anaconda, Inc.

OK!(今回はターミナル再起動しなくてもよかった。違いはわからんけど)
f:id:ahrk-izo:20181208132008p:plain:w500



これでpyenvでインストールしたバージョンは、以下のコマンドで2系でも3系でもAnacondaでも自由に切り替えられる!

$ pyenv global ***


以上。



みんなのPython 第4版

みんなのPython 第4版