Irohabook
Python システム・環境

MacにPythonをインストールする:Homebrewとpyenvを使う(2019年最新版)

広告

Mac に Python をインストールするときは Homebrew を利用します。ここでは Homebrew がインストールされているものとして、その後の手順を説明します。

Mac に Python をインストールする手順

  1. Homebrew を更新する
  2. pyenv をインストールする
  3. pyenv の環境変数を設定する
  4. Python をインストールする
  5. Python のバージョンを設定する

pyenv は Python のバージョンを切りかえるためのツールです。Python そのものをインストールすると、その後 Python のバージョンを更新するときに苦労します。なるべく pyenv を経由して Python をインストールすることをおすすめします。

Homebrew を更新する

Homebrew を更新します。

brew update

ここで次のエラーが出たら Python のインストールに失敗します。

xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun

特に Mac のバージョンを更新した後にこのエラーは起きます。このエラーが出たら

xcode-select --install

をターミナルに入力してください。その後、自動的に画像のような画面が出てきます。

設定

これは command line developer tools のダウンロードとインストールで、環境によって 30 分以上の時間がかかります。

pyenv をインストールする

pyenv がきちんと入っているか確かめましょう。

pyenv -v

おそらく pyenv のバージョンが表示されます。次のコマンドで pyenv をインストールします。

brew install pyenv

インストールが終わると .pyenv というディレクトリがユーザー直下にできます。

/Users/yamada/.pyenv

注意:.pyenv は隠しディレクトリになっています。これからインストールする Python はこのディレクトリに入るため、「コンピューターを汚さない」ようにできるのです。

pyenv の環境変数を設定する

インストールした pyenv を実際に使うには、Mac の環境変数に pyenv を入れなくてはいけません。次のコマンドを順番に入力してください。

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 というファイルができます。

vi ~/.bash_profile

上のコマンドで .bash_profile の中身を確認してください。下のような文字があったら設定は合っています。

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

確認したら、下のコマンドで設定を反映させます。

source ~/.bash_profile

ヒント:

  1. vi はファイルを読み書きするためのツール。終了するときは :q を入力する
  2. .bash_profile はユーザーディレクトリの直下に入っている
  3. .bash_profile に書かれた設定を更新するのを忘れない

Python をインストールする

いよいよ Python をインストールします。まず pyenv でインストール可能の Python バージョンを確認します。

pyenv install --list

下のような非常に長いリストが出てきます。

3.6.1
3.6.2
3.6.3
3.6.4
3.6.5
3.6.6
3.6.7
3.6.8
3.6.9
3.7.0
3.7-dev
3.7.1
3.7.2
3.7.3
3.7.4
3.7.5
3.7.5rc1
3.8.0
3.8-dev
3.9-dev
activepython-2.7.14
activepython-3.5.4
activepython-3.6.0
anaconda-1.4.0
anaconda-1.5.0

その中に数字だけの列があります。例えば 3.7.5 といった列です。それが Python のバージョンです。数字の隣に dev がついたものは開発中のバージョンなので、特別な理由がない限りは選ばないでください。上のリストを見ると 3.8.0 が一番新しいとわかります。下のコマンドを入力してください。

pyenv install 3.8.0

筆者の環境では 3.8.0 でしたが、日が経つとこのバージョンは変わります。インストールが終わると

Installed Python-3.8.0 to /Users/yamada/.pyenv/versions/3.8.0

のように表示されます。ディレクトリの構造を見ると Python の切りかえができそうな気がしますね。

pyenv でインストールした Python のバージョンを確認する

Python のバージョンを確認しましょう。

pyenv versions

  system
* 3.8.0 (set by /Users/yamada/.pyenv/version)

pyenv でインストールした Python はすべて versions /Users/yamada/.pyenv/versions というディレクトリに入ります。

Python のバージョンを設定する

Python のバージョンを Mac に教える必要があります。下のコマンドを入力してください。

pyenv global 3.8.0

これで Mac は Python のバージョンを 3.8.0 と認識するようになります。実際に Python のバージョンを確認してください。

python -V

すると

Python 3.8.0

と表示されます。

Python のバージョンが 2 系で表示されるとき

Python のバージョンが 3.8.0 にならず、最初から入っている 2 系になるとき、おそらく pyenv の環境変数に問題があります。

pyenv init

を入力すると下のようなメッセージが表示されます。

# Load pyenv automatically by appending
# the following to ~/.bash_profile:

eval "$(pyenv init -)"

この状態でもう一度バージョンを確認してください。

python -V

バージョンが表示されましたか? もし表示されなかったら .bash_profile の中身を見て

eval "$(pyenv init -)"

があることを確認してください。この行が最後の行で後に改行もなにもなかったら、適当に改行してください。ファイルを更新したら

source ~/.bash_profile

で更新を反映させてください。それでもバージョンが更新されなかったら、ターミナルを一度終了させてください。

エラーが起きたときにチェックすること

  1. Homebrew は最新の状態に保たれているか?
  2. command line developer tools はインストールされているか?
  3. pyenv の環境変数はきちんと設定されているか?

特に command line developer tools は問題になりやすいので注意しましょう。

広告

コンピューター コンピューター
プログラミング プログラミング
数学 数学
英語 英語
国語 国語
理科 理科
社会 社会