MacでPython開発環境を構築しよう

主な流れ

MacでPythonなど各種ソフトウェアをインストールし、環境構築する上での主な流れです。

前提環境

Macには初めからPythonがインストールされていますが、多くの場合これを使いません。1つはバージョンの問題であるのと、もう一つはシステムとしての環境と、開発作業における環境の分離です。

本稿で前提とする環境はmacOS Mojave(10.14.6)です。おそらく他のバージョンでも何の違いもなく導入できると思いますが一応前提として書いておきます。なお、Catalinaではシェルのデフォルトが変わっているので気にせず使っている人は注意が必要です。とはいってもCatalinaに限った話ではなくて「bash以外をご使用の方は手順を適宜読み替えて下さい。」という話につきます。

導入手順

Homebrewのインストール

MacにPythonをインストールするに当たって、まずはpyenvをインストールしたいのですが、そのためにHomeBrewをインストールするという構図です。

brew -v

インストールする前に一発このコマンドを打ってみてください。もしバージョン表示が返ってきたらインストールされているのでこの手順は不要です。もしかすると”brew update”あたりは必要になるかも知れません。

肝心のインストール方法ですが、変わっていることは無いとは思いますが、念のためmacOS用パッケージマネージャー — Homebrewを参照してください。

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

pyenvのインストール

続いてpyenvです。要る要らないの議論はどこか別のところで学んでいただいて、ここではインストール手順を示します。

brew install pyenv

インストールが終わったら以下の通り環境をセットアップします。

echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(pyenv init -)"' >> ~/.bash_profile
source ~/.bash_profile

Pythonのインストール

いよいよMacにPythonをインストールします。インストール可能なPythonのリストは以下のようにして確認できます。

pyenv install --list

インストールするには

pyenv install 3.8.1

インストール後は、以下のコマンドでそのリストを取得できます。

MacBookPro:src $ pyenv versions
  system
  3.7.4
* 3.8.1 (set by /Users/xxxx/.python-version)
MacBookPro:src $ 

もうすでに*付いちゃってますが、この手順ではじめて導入された場合には付いていないと思います。

インストールしたPythonを有効にします。

$ mkdir ~/LearningPython
$ cd ~/LearningPython
$ pyenv local 3.8.1

これでLearningPythonディレクトリにくるとPython3.8.1が有効になります。確認してみます。

$ python -V  Python 3.8.1

venvで初めてのプロジェクト

MacにPytonをインストールできた後は、venvを使ってプロジェクトを作成します。venvを使うことで、プロジェクト毎にPythonで使用したいライブラリ環境を分けることが出来ます。

具体的にはProcject-A ではxxx-libのv1.1を使っていて変更してしまうと、ソースコードの修正が必要なので今は避けたい。でもProject-Bでは新しくなったV2を使うべきだ、という風な状況になったとき、Project-AはA、BはBと環境を区分けすることが出来ます。

$ mkdir src
$ cd src
$ python -m venv HelloPython

出来上がったプロジェクトを確認してみます。

MacBookPro:HelloPython $ ll
total 8
drwxr-xr-x  13 kazuto  staff  416  1 19 02:45 bin
drwxr-xr-x   2 kazuto  staff   64  1 19 02:45 include
drwxr-xr-x   3 kazuto  staff   96  1 19 02:45 lib
-rw-r--r--   1 kazuto  staff  100  1 19 02:45 pyvenv.cfg
MacBookPro:HelloPython $ 

この環境を有効にするには、以下のようにします。

$ source bin/activate
 (HelloPython) $ 

これでHelloPython用の独立した環境が出来上がっています。他のアプリと干渉せずにライブラリを導入していくことが出来ます。

以上で、MacにPythonをインストールし、開発環境を準備する手順は終わりです。