Edited at

Macで1からPythonの環境構築をしていく

More than 1 year has passed since last update.


Homebrewのインストール

まずHomebrewのサイトへアクセスします

サイト内のスクリプトをターミナルにコピーすることで簡単にインストールできます。

スクリーンショット 2017-10-18 00.25.15.png

正しくインストールされているか確かめるため以下のコマンドをターミナルに入力し保存先がかえってくるか確かめてください。

$ which brew

インストールできていれば /usr/local/bin/brew と保存先のパスがかえってきます。

Homebrewをアップデートする際には以下のコマンドを使います。

$ brew update && brew upgrade


Pyenvのインストール

PyenvはPythonのバージョン管理ソフトウェアです。MacにはデフォルトでSystemというPython2系のバージョンが入っていますが、Pyenvを使って2系と3系をインストールし、用途に合わせて2系と3系を切り替えられるようにします。

まずは先程インストールしたHomebrewを使ってPyenvをインストールします。

Homebrewをインストールしたことでbrewコマンドを使うことができます。

このbrewコマンドを使うことで簡単にPyenvなどのソフトウェアをインストールできます。

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

$ brew install pyenv


.bash_profileの編集

自分のホームディレクトリにある.bash_profileを編集します。

やり方としては2通りあります。  1つはviで以下を直書きする方法

export PYENV_ROOT="$HOME/.pyenv"

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

もう1つはターミナルで以下のコマンド1つずつを入力する方法です。

以下を順番に入力していきましょう。

$ 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にpyenvの設定を書き込んだ後以下のコマンドを入力してリフレッシュします。

$ source .bash_profile

以上で.bash_profileの編集は終了です。

次からPythonをインストールしていきます。


Pythonのインストール

今回は試しにpython3系の3.6.0と2系の2.7.8をインストールしていきます。

pyenvでインストールできるバーションは以下のコマンドで確認することができます。

$ pyenv install -l

インストール

---High Sierra以上にバージョンを上げている場合以下の対処が必要となります---

以下のコマンドを入力

$ brew install readline openssl xz

次に~/.env-exporterに以下を記述

$ vi ~/.env-exporter

export CFLAGS="-I$(xcrun --show-sdk-path)/usr/include"

export CFLAGS="-I$(brew --prefix readline)/include $CFLAGS"
export LDFLAGS="-L$(brew --prefix readline)/lib $LDFLAGS"
export CFLAGS="-I$(brew --prefix openssl)/include $CFLAGS"
export LDFLAGS="-L$(brew --prefix openssl)/lib $LDFLAGS"
export CFLAGS="-I$(brew --prefix sqlite)/include $CFLAGS"
export LDFLAGS="-L$(brew --prefix sqlite)/lib $LDFLAGS"

記述後

$ source ~/.env-exporter

---以上が対処となります。以下よりPythonのインストールです---

python 3.6.0のインストール

$ pyenv install 3.6.0

python 2.7.8のインストール

$ pyenv install 2.7.8

これでpythonのインストールは完了です。

---Pythonのインストールが失敗する場合---

以下のコマンドを入力してxcodeのアップデートを行いもう一度Pythonのインストールを行ってみて下さい。

$ xcode-select --install


pythonのバージョン確認

上記のPythonのインストールでpython2系の2.7.8と3系の3.6.0をインストールしたのでここからはバージョンの確認方法とバージョンの切り替えについて書いていきます。

以下のコマンドでpyenvで管理しているバージョンの一覧を表示することができます。

$ pyenv versions  

* system (set by /Users/xxxxxxx/.pyenv/version)
2.7.8
3.6.0

macにデフォルトで入っているsystem、そして先程インストールした2.7.8と3.6.0が確認できます。

*がついてるのが現在の使われているバージョンです。今は2.7.8と3.6.0をインストールしただけの状態なのでデフォルトのsystemが起用されています。


pythonのバージョン切り替え

使用するバージョンを切り替えるには以下のglobalコマンドを用います。

python 3.6.0に切り替える場合

$ pyenv global 3.6.0

これでsystemから3.6.0に切り替わります。実際に確認してみましょう。

$ pyenv versions  

system
2.7.8
* 3.6.0 (set by /Users/xxxxxxx/.pyenv/version)

*印が3.6.0に移動しバージョンが切り替わっていることが分かります。

またディレクトリごとにバージョンを切り替えたい場合はglobalではなくlocalを使います。

例えばデスクトップのみで2.7.8を使いたい場合

desktopに移動

$ cd desktop

localでバージョンの切り替え

$ pyenv local 2.7.8

確認してみましょう。

$ pyenv versions  

system
* 2.7.8 (set by /Users/xxxxxxx/desktop/.python-version)
3.6.0

*印が3.6.0から2.7.8に変更され

desktopのみバージョン2.7.8が起用されていることが確認できます。

以上で環境構築は終了です。お疲れ様でした。

以下にpythonの環境構築で上手くいかない時の対処法を書いておきます。


うまくいかない時の対処法

バージョンが変わらない

$ pyenv global xxxxでも

$ pyenv local xxxxしてもバージョンが切り替わらない場合

.bash_profileでpythonの設定が

export PYENV_ROOT="$HOME/.pyenv"

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

この記述より上にpythonのバージョン設定がされている可能性があります。確認してみてください。

$ vi ~/.bash_profile

で確認できます。

また$ pyenv versionsではバージョンが切り替わっているのに$ python -Vで確認すると切り替わっていないという事態もこれで解決することが多いです。

pyenv globalが適用されない

pyenv localはできるのに何故かpyenv globalができない

これはホームディレクトリに.python-versionのファイルが存在していることが原因であることが多いです。

$ rm ~/.python-version

で.python-versionのファイルを削除することで解決できます。