カテゴリー
Apple

【Mac】【Homebrew】Python 3 をインストールする手順【かなり試行錯誤した】

ポイント

  • デフォルトで Mac にインストールされる Python と Homebrew でインストールする Python 2、Python 3 のコマンドやパスに注意。これらは互いを上書きしない、競合しない。
  • Mac デフォルト Python
    • コマンド: python
    • パス: /usr/bin/python
  • Homebrew Python 2
    • コマンド: python2
    • パス: /usr/local/bin/python2
  • Homebrew Python 3
    • コマンド: python3
    • パス: /usr/local/bin/python3

環境

  • MacBook Pro (Retina, 13-inch, Late 2012)
  • OS X El Capitan バージョン 10.11.3
  • Homebrew 0.9.5 (git revision 0fe95; last commit 2016-03-21)

インストール前状態

$ which python
/usr/bin/python
$ python --version
Python 2.7.10
$

Homebrew 準備

上記投稿の通り、Homebrew 自体は入っておりますので、状態の確認と、アップデート、アップグレードのみ行いました。

$ brew doctor
Your system is ready to brew.
$ brew update
Already up-to-date.
$ brew upgrade
$

インストールする Python 確認

$ brew search python
app-engine-python       gst-python              python-markdown         wxpython              
boost-python            python                  python3                 zpython               
homebrew/apache/mod_python                      Caskroom/cask/mysql-connector-python          
homebrew/python/python-dbus                     Caskroom/cask/python                          
homebrew/python/vpython                         Caskroom/cask/python3                         
homebrew/versions/gst-python010               
$

Homebrew でインストールするのは python3 です。python はバージョン 2 でしたので、今回目的とするバージョン 3 とは異なりますの!

Python 3 インストール

brew install python3

完了まで、約 4 分かかりました。意外と長かったです!

とはいえ、インストールはこれで完了です♪簡単ですの!

PATH の設定確認

フルパスではなく、python3 と打つだけで使えるようにしたいですわ!

そのためには PATH の設定が必要となりますけれども。。。すでに設定されており、不要でしたの♪

$ python3 --version
Python 3.5.1
$ which python3
/usr/local/bin/python3
$ 

PATH そのものを確認しましても、/usr/local/bin が既に含まれております。

$ export -p
... 略 ...
declare -x PATH="/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"
... 略 ...

おまけ。勘違いから来た、試行錯誤の記録><

インストール後、PATH の設定でのお話です。

わたくしは、python コマンドで Python 3 が使えるようになるとばかり思い込んでおりました。

そのようにすることは可能でしょうけれども、それ以前に python3 コマンドで Python 3 が使えるようになったことに気がつかないために次のように、悩んでしまいました><。

PATH の設定が変?Python 3 が使えない

~/.bash_profile ファイルはありませんでしたので、作成しました。

export PATH=/usr/local/bin:$PATH
$ source ~/.bash_profile

確認です。

$ which python
/usr/bin/python
$ python --version
Python 2.7.10
$ 

おかしいです><。Python 3 となりません。

PATH を確認してみます。

$ export -p
... 略 ...
declare -x PATH="/usr/local/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"
... 略 ...

/usr/local/bin:/usr/local/bin と同じものが 2 つ設定されています。ということは、最初から /usr/local/bin は設定されており、不要な設定を追加してしまった、ということかしら。

rm ~/.bash_profile 

ファイルを削除しましたので、反映するためには source コマンドは使えません。ターミナルを再起動して確認します。

$ export -p
... 略 ...
declare -x PATH="/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"
... 略 ...

余分な /usr/local/bin が削除されました。しかし、python3 へのパスとならないのは相変わらずです><。

ここで、もしかして!?と思い当たりました。インストール時に、python3 と指定していたのです。

ということは、コマンドは python3 なのかしら。。。

$ python3 --version
Python 3.5.1
$ which python3
/usr/local/bin/python3
$ 

やっぱり!

使い分けたいときはよさそうですわね。。。

気がついてしまえば当たり前ですの。Homebrew での表示も python3 ですもの!

$ brew list
gdbm		pkg-config	readline	xz
openssl		python3		sqlite
$ brew list python3
/usr/local/Cellar/python3/3.5.1/bin/2to3-3.5
/usr/local/Cellar/python3/3.5.1/bin/easy_install-3.5
/usr/local/Cellar/python3/3.5.1/bin/idle3
/usr/local/Cellar/python3/3.5.1/bin/idle3.5
/usr/local/Cellar/python3/3.5.1/bin/pip3
/usr/local/Cellar/python3/3.5.1/bin/pip3.5
/usr/local/Cellar/python3/3.5.1/bin/pydoc3
/usr/local/Cellar/python3/3.5.1/bin/pydoc3.5
/usr/local/Cellar/python3/3.5.1/bin/python3
/usr/local/Cellar/python3/3.5.1/bin/python3-config
/usr/local/Cellar/python3/3.5.1/bin/python3.5
/usr/local/Cellar/python3/3.5.1/bin/python3.5-config
/usr/local/Cellar/python3/3.5.1/bin/python3.5m
/usr/local/Cellar/python3/3.5.1/bin/python3.5m-config
/usr/local/Cellar/python3/3.5.1/bin/pyvenv
/usr/local/Cellar/python3/3.5.1/bin/pyvenv-3.5
/usr/local/Cellar/python3/3.5.1/bin/wheel3
/usr/local/Cellar/python3/3.5.1/Frameworks/Python.framework/ (6785 files)
/usr/local/Cellar/python3/3.5.1/IDLE 3.app/Contents/ (8 files)
/usr/local/Cellar/python3/3.5.1/lib/pkgconfig/ (3 files)
/usr/local/Cellar/python3/3.5.1/libexec/pip/ (516 files)
/usr/local/Cellar/python3/3.5.1/libexec/setuptools/ (232 files)
/usr/local/Cellar/python3/3.5.1/libexec/wheel/ (93 files)
/usr/local/Cellar/python3/3.5.1/Python Launcher 3.app/Contents/ (16 files)
/usr/local/Cellar/python3/3.5.1/share/man/ (2 files)
$ 

おまけ。Homebrew Python のアンインストール

$ brew uninstall python3
Uninstalling /usr/local/Cellar/python3/3.5.1... (7,642 files, 106.7M)
$ 

確認です。python3 がなくなっていることが確認できました。

$ brew list
gdbm		pkg-config	sqlite
openssl		readline	xz
$ 

おまけ。Python3 インストール時のログ

$ brew install python3
==> Installing dependencies for python3: xz, pkg-config, readline, sqlite, gdbm, openssl
==> Installing python3 dependency: xz
==> Downloading https://homebrew.bintray.com/bottles/xz-5.2.2.el_capitan.bottle.tar.gz
######################################################################## 100.0%
==> Pouring xz-5.2.2.el_capitan.bottle.tar.gz
  /usr/local/Cellar/xz/5.2.2: 59 files, 1.4M
==> Installing python3 dependency: pkg-config
==> Downloading https://homebrew.bintray.com/bottles/pkg-config-0.29.1.el_capitan.bottle.tar.gz
######################################################################## 100.0%
==> Pouring pkg-config-0.29.1.el_capitan.bottle.tar.gz
  /usr/local/Cellar/pkg-config/0.29.1: 10 files, 626.1K
==> Installing python3 dependency: readline
==> Downloading https://homebrew.bintray.com/bottles/readline-6.3.8.el_capitan.bottle.tar.gz
######################################################################## 100.0%
==> Pouring readline-6.3.8.el_capitan.bottle.tar.gz
==> Caveats
This formula is keg-only, which means it was not symlinked into /usr/local.

OS X 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.


Generally there are no consequences of this for you. If you build your
own software and it requires this formula, you'll need to add to your
build variables:

    LDFLAGS:  -L/usr/local/opt/readline/lib
    CPPFLAGS: -I/usr/local/opt/readline/include

==> Summary
  /usr/local/Cellar/readline/6.3.8: 40 files, 2.0M
==> Installing python3 dependency: sqlite
==> Downloading https://homebrew.bintray.com/bottles/sqlite-3.11.0_1.el_capitan.bottle.tar.gz
######################################################################## 100.0%
==> Pouring sqlite-3.11.0_1.el_capitan.bottle.tar.gz
==> Caveats
This formula is keg-only, which means it was not symlinked into /usr/local.

OS X provides an older sqlite3.

Generally there are no consequences of this for you. If you build your
own software and it requires this formula, you'll need to add to your
build variables:

    LDFLAGS:  -L/usr/local/opt/sqlite/lib
    CPPFLAGS: -I/usr/local/opt/sqlite/include

==> Summary
  /usr/local/Cellar/sqlite/3.11.0_1: 9 files, 2.8M
==> Installing python3 dependency: gdbm
==> Downloading https://homebrew.bintray.com/bottles/gdbm-1.11.el_capitan.bottle.2.tar.gz
######################################################################## 100.0%
==> Pouring gdbm-1.11.el_capitan.bottle.2.tar.gz
  /usr/local/Cellar/gdbm/1.11: 17 files, 485.2K
==> Installing python3 dependency: openssl
==> Downloading https://homebrew.bintray.com/bottles/openssl-1.0.2g.el_capitan.bottle.tar.gz
######################################################################## 100.0%
==> Pouring openssl-1.0.2g.el_capitan.bottle.tar.gz
==> Caveats
A CA file has been bootstrapped using certificates from the system
keychain. To add additional certificates, place .pem files in
  /usr/local/etc/openssl/certs

and run
  /usr/local/opt/openssl/bin/c_rehash

This formula is keg-only, which means it was not symlinked into /usr/local.

Apple has deprecated use of OpenSSL in favor of its own TLS and crypto libraries

Generally there are no consequences of this for you. If you build your
own software and it requires this formula, you'll need to add to your
build variables:

    LDFLAGS:  -L/usr/local/opt/openssl/lib
    CPPFLAGS: -I/usr/local/opt/openssl/include

==> Summary
  /usr/local/Cellar/openssl/1.0.2g: 466 files, 11.9M
==> Installing python3
Warning: Building python3 from source:
  The bottle needs the Xcode CLT to be installed.
==> Downloading https://www.python.org/ftp/python/3.5.1/Python-3.5.1.tar.xz
######################################################################## 100.0%
==> Downloading https://bugs.python.org/file40478/xcode-stubs.diff
######################################################################## 100.0%
==> Patching
==> Applying xcode-stubs.diff
patching file Lib/distutils/ccompiler.py
patching file Lib/distutils/unixccompiler.py
==> ./configure --prefix=/usr/local/Cellar/python3/3.5.1 --enable-ipv6 --datarootdir=/usr/local
==> make
==> make install PYTHONAPPSDIR=/usr/local/Cellar/python3/3.5.1
==> make frameworkinstallextras PYTHONAPPSDIR=/usr/local/Cellar/python3/3.5.1/share/python3
==> Downloading https://pypi.python.org/packages/source/s/setuptools/setuptools-19.4.tar.gz
######################################################################## 100.0%
==> Downloading https://pypi.python.org/packages/source/p/pip/pip-8.0.2.tar.gz
######################################################################## 100.0%
==> Downloading https://pypi.python.org/packages/source/w/wheel/wheel-0.26.0.tar.gz
######################################################################## 100.0%
==> /usr/local/Cellar/python3/3.5.1/bin/python3 -s setup.py --no-user-cfg install --force --ver
==> /usr/local/Cellar/python3/3.5.1/bin/python3 -s setup.py --no-user-cfg install --force --ver
==> /usr/local/Cellar/python3/3.5.1/bin/python3 -s setup.py --no-user-cfg install --force --ver
==> Caveats
Pip and setuptools have been installed. To update them
  pip3 install --upgrade pip setuptools

You can install Python packages with
  pip3 install <package>

They will install into the site-package directory
  /usr/local/lib/python3.5/site-packages

See: https://github.com/Homebrew/homebrew/blob/master/share/doc/homebrew/Homebrew-and-Python.md

.app bundles were installed.
Run `brew linkapps python3` to symlink these to /Applications.
==> Summary
  /usr/local/Cellar/python3/3.5.1: 7,642 files, 106.7M, built in 3 minutes 32 seconds
$ 

おわりに

バージョンを細かくわけなくて良い、本家サイトからパッケージをダウンロードしてインストールするのはちょっと面倒、Homebrew でパッとインストールできるならしたい、そのように感じて今回、Python3 を Homebrew でインストール、動作確認をいたしました。

最後に、参考ページです。つまづいたため、多くのページを調べました。

以上です。

コメントを残す