Python + pyenv 環境をHomebrewでインストール

概要

複数バージョンの切り替えが可能なPython環境をHomebrewでインストールしてみます。

環境

MacOS 10.14.1
Xcode(Command Line Tools) 10.1
Homebrew 1.8.3

Command Line Toolsがインストールされていない人はこちら
Homebrewがインストールされていない人はこちら
Homebrewがアップデートされていない人はこちら

インストールバージョン
Python 3.7.1
pyenv 1.2.8

pyenvのインストール

早速Pythonのインストールを行いたいところですが、まずは複数バージョンのPython環境を使えるようにpyenvをインストールします。
特につまづくところはなくインストールコマンドを実行するだけです。

$ brew install pyenv
Updating Homebrew...
==> Auto-updated Homebrew!
Updated 1 tap (homebrew/cask).
No changes to formulae.

==> Installing dependencies for pyenv: readline
==> Installing pyenv dependency: readline
==> Downloading https://homebrew.bintray.com/bottles/readline-7.0.5.mojave.bottle.tar.gz
######################################################################## 100.0%
==> Pouring readline-7.0.5.mojave.bottle.tar.gz
==> Caveats
readline is keg-only, which means it was not symlinked into /usr/local,
because macOS provides the BSD libedit library, which shadows libreadline.
In order to prevent conflicts when programs look for libreadline we are
defaulting this GNU Readline installation to keg-only.

For compilers to find readline you may need to set:
  export LDFLAGS="-L/usr/local/opt/readline/lib"
  export CPPFLAGS="-I/usr/local/opt/readline/include"

==> Summary
🍺  /usr/local/Cellar/readline/7.0.5: 46 files, 1.5MB
==> Installing pyenv
==> Downloading https://homebrew.bintray.com/bottles/pyenv-1.2.8.mojave.bottle.tar.gz
######################################################################## 100.0%
==> Pouring pyenv-1.2.8.mojave.bottle.tar.gz
🍺  /usr/local/Cellar/pyenv/1.2.8: 612 files, 2.4MB
==> Caveats
==> readline
readline is keg-only, which means it was not symlinked into /usr/local,
because macOS provides the BSD libedit library, which shadows libreadline.
In order to prevent conflicts when programs look for libreadline we are
defaulting this GNU Readline installation to keg-only.

For compilers to find readline you may need to set:
  export LDFLAGS="-L/usr/local/opt/readline/lib"
  export CPPFLAGS="-I/usr/local/opt/readline/include"

pyenvの確認

pyenvが正常にインストールされたか確認してみます。
今回の最新バージョンは1.2.8 でした。

$ pyenv --version
pyenv 1.2.8

ZipImportErrorの回避

Pythonインストール前にMacOS Mojaveでは以下のエラーが発生するので事前にエラー回避しておきましょう。

$ zipimport.ZipImportError: can't decompress data; zlib not available
make: *** [install] Error 1

以下のコマンドでエラーを回避します。

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /

Pythonのインストール

では待望のPythonをインストールします。

$ pyenv install --list
Available versions:
  2.1.3
  2.2.3
  2.3.7
  2.4
  2.4.1
  2.4.2

(一部抜粋)

たくさんのバージョンが一覧表示されている(上記は一部抜粋)かと思いますが、今回は3.7.1 をインストールしたいと思います。

$ pyenv install 3.7.1
python-build: use openssl from homebrew
python-build: use readline from homebrew
Downloading Python-3.7.1.tar.xz...
-> https://www.python.org/ftp/python/3.7.1/Python-3.7.1.tar.xz
Installing Python-3.7.1...
python-build: use readline from homebrew
Installed Python-3.7.1 to /Users/username/.pyenv/versions/3.7.1

Python、pyenvの設定と確認

インストールしたPythonのバージョンを確認してみます。

$ python --version
Python 2.7.10

デフォルトではMacOSのPythonを使用するので、先ほどインストールしたバージョンではありません。
まずはpyenvで使用するPythonのバージョンを設定します。

$ pyenv global 3.7.1

次に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の保存を適用します。

$ source ~/.bash_profile

もう一度、Pythonのバージョンを確認してみましょう。

$ python --version
Python 3.7.1

Pythonのバージョンは変わりましたか?
これで無事Pythonのインストールは完了です。
お疲れ様でした。

スポンサーリンク
PR
PR

シェアする

  • このエントリーをはてなブックマークに追加

フォローする