Help us understand the problem. What is going on with this article?

Python3インストール(Mac編)


Pythonのインストールについては現在様々な方法があり、日々変化しています。
Qiitaでの投稿に限界を感じたので、今後は自己サイトhttps://midsatoh.github.io/python/install/select_soft/にて配信することにします。
今後こちらの記事の更新は行いませんので、ご了承ください。


0. はじめに

過去に投稿した「Pythonインストール(Mac編)」については、おかげさまでたくさんの方にいいね&リンクしていただけました。
流石に3年前の投稿となり、世間でもPython3系の需要がPython2系を上回ったようですので、改めてPython3系のインストール方法として公開します。
以前の記事ではpipコマンドについても補足で記載していましたが、現在公開されているバージョンではプリインストールされていますので、pipコマンドのインストールについては割愛しています。

1. インストール対象

以下の環境を対象とした、超初心者向けのインストールおよび設定手順です。
バージョンに特に記載のない場合、2018.12.20現在での最新バージョンを使用しています。
vagrantやDockerなどの仮想環境については使用しない前提となっています。

  • Mac OS X Mojave
  • Python 3.7.1

2. Pythonのインストール

Macでは、デフォルトでPython2系がインストール済みです。今後MacOSにPython3系がプリインストールされる可能性もありますが、現時点では3系を利用する場合は別途インストールする必要があります。
今回は状況に応じて4パターンの説明を記載します。

2.1. pkgファイルからのインストール方法

Python.orgより、必要なバージョンのインストールファイル(pkgファイル)をダウンロードしてインストールする方法です。
他のバージョンをインストールする可能性がほとんどないような場合は、これで十分です。

まず、必要なバージョンのpkgファイルを以下のサイトからダウンロードします。
Python.org/downloads
Python_org.png

ダウンロードしたpkgファイルを実行し、Pythonをインストールします。
基本的にはそのまま「続ける」ボタンの連打で良いでしょう。
PATHの設定は自動的に入っているはずですが、ターミナルからコマンドの場所を確認した際に

$ which python
/usr/bin/python

とでるようなら、~/.bash_profileに以下の文を追記しましょう。
3.Xの部分はインストールしたバージョンに合わせてください。

~/.bash_profile
export PATH=/Library/Frameworks/Python.framework/Versions/3.XX/bin:$PATH

PATHの設定が終わったら、確認を忘れずに。

$ source ~/.bash_profile
$ which python
/Library/Frameworks/Python.framework/Versions/3.X/bin/python

2.2. Homebrewを使用したインストール方法

別のプログラミング言語でMacを開発で使用している方であれば、MacportかHomebrewなどのパッケージ管理システムを使用しているかと思います。
今回はHomebrewを使用したインストール方法を紹介します。
ただし、Homebrewを使用する場合は

  • XCodeまたはApple DeveloperサイトからXCodeコマンドラインツールのインストール
  • インターネットへの安定した接続環境

が前提となります。XCodeのインストール方法はここでは説明しませんので、各自で調べてください。

XCodeのコマンドラインツールは、インターネットに接続した状態から

$ sudo xcode-select --install

よりインストールしてください。
Apple Developerサイトへのログインが必要になる場合もあります。

2.2.1. Homebrewのインストール

初めて使用する場合は、以下のサイトからインストールコマンドをコピーして、ターミナルに貼り付けて実行することでインストールが可能です。

Homebrew
homebrew.png

2.2.2. brewコマンドを使用してインストール

細かいバージョン違いは現在のhomebrewだけではインストールできませんが、現状の最新版のみインストールしたい場合や、2系と3系のみ切り替えたい場合はこちらが便利です。

brew infoコマンドでインストール可能なバージョンを確認します。

$ brew info python
python: stable 3.7.3 (bottled), HEAD
Interpreted, interactive, object-oriented programming language
https://www.python.org/
Not installed
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/python.rb
==> Dependencies
Build: pkg-config ✔
Required: gdbm ✔, openssl ✔, readline ✔, sqlite ✔, xz ✔
==> Options
--HEAD
    Install HEAD version
==> Caveats
Python has been installed as
/usr/local/bin/python3

Unversioned symlinks `python`, `python-config`, `pip` etc. pointing to
`python3`, `python3-config`, `pip3` etc., respectively, have been installed into
/usr/local/opt/python/libexec/bin

If you need Homebrew's Python 2.7 run
brew install python@2

You can install Python packages with
pip3 install <package>
They will install into the site-package directory
/usr/local/lib/python3.7/site-packages

pythonが3系、python@2が2系のコマンドとなります。
3系の最新版をインストールする場合は、次のコマンドを実行します。

$ brew install python

また、PATHの設定も忘れないようにしましょう。

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

2.3. Homebrew + pyenvでのインストール方法

2系・3系の違いだけでなくさらに詳細なバージョン指定が必要な場合、pyenvなどのバージョン切り替えツールをインストールする必要があります。
また、今回は同一バージョンで複数のライブラリを使用するような仮想環境を作成できるように、virtualenvも同時にインストールするようにします。

2.3.1. pyenvのインストール

Homebrew がインストール済みであれば、以下のコマンドだけでpyenvのインストールが可能です。

$ brew install pyenv

また、~/.bash_profileに以下を追加します。

~/.bash_profile
export PYENV_ROOT=${HOME}/.pyenv
if [ -d "${PYENV_ROOT}" ]; then
    export PATH=${PYENV_ROOT}/bin:$PATH
    eval "$(pyenv init -)"
fi

pyenvでインストール可能な一覧を確認します。

$ pyenv install -l
Available versions:
  2.1.3
  2.2.3
  2.3.7
  2.4
  2.4.1
  2.4.2
  2.4.3
  2.4.4
    .........

2.3.2. Pyenvによる使用バージョンのインストール

必要なバージョンを指定して、インストールします。

$ pyenv install 3.7.1
$ pyenv install 3.6.7

pyenvでインストールされたPythonは、~/.pyenv以下にインストールされています。
インストールされているバージョンを確認します。

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

使用するバージョンを確定します。
デフォルトで使用したいバージョンを指定する場合はglobal、特定のディレクトリのみで使用するバージョンを指定するには、使用したいフォルダに移動したのちlocalオプションを使用します。

$ pyenv global 3.7.1
$ python --version
  Python 3.7.1
$ mkdir ~/Python36
$ cd ~/Python36
$ pyenv local 3.6.7
$ python --version
  Python 3.6.7

上記の例のようにすると、~/Python36ディレクトリ以下ではPython3.6.3、それ以外のディレクトリではPython3.7.1がpythonコマンドで呼び出されるようになります。

2.4. Homebrew + pyenv-virtualenvでのインストール方法

2.4.1. pyenv-virtualenv環境を使用した複数バージョンの管理

pyenvでインストールした複数バージョンのPythonを、使用するライブラリなども含めて別の環境を用意したい場合は、pyenvのプラグインpyenv-virtualenvを使用して管理することができます。

Homebrew がインストール済みであれば、以下のコマンドだけでpyenvとvirtualenvプラグインの同時インストールが可能です。

$ brew install pyenv-virtualenv

また、~/.bash_profileに以下を追加します。

~/.bash_profile
export PYENV_ROOT=${HOME}/.pyenv
if [ -d "${PYENV_ROOT}" ]; then
    export PATH=${PYENV_ROOT}/bin:$PATH
    eval "$(pyenv init -)"
    eval "$(pyenv virtualenv-init -)"
fi

まず、使用する環境を任意の名前で作成します。

$ pyenv virtualenv 3.7.1 study_37
$ pyenv versions
 *system (set by /Users/ユーザー名/.pyenv/version)
  3.7.1
  3.6.7
  study_37

指定の環境を実行するディレクトリを作成、移動して設定します。

$ mkdir ~/study_python37
$ cd ~/study_python37
$ pyenv local study_37
$ python --version
  Python 3.7.1

これで、先ほど作ったPython3.7.1の環境とは別に~/study_python37ディレクトリ以下だけで使用できるようなPythonの環境が作成できました。

ms-rock
どのプログラミング言語が好き?と聞かれたらScala。 使い慣れているのはPythonとJava。 仕事だから仕方なく使ってるのはKotlinとGoとJavaScript(Vue.js)。
https://midsatoh.github.io/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away