MacのPython環境を整える 2019年版

私一押しのPython環境(Mac)の構築手順です。

デフォルトのMacのPython環境

Macに最初から入っているpythonの場所とバージョンを調べてみます。
なお、macOS Mojave (バージョン10.14.4)です。

いまなおPython 2.7です。古いです。

pyenv&pipenvのインストール

pythonの仮想環境&パッケージ管理ツールであるpyenvとpipenvをインストールします。
brewを使います。まだインストールしていない人はこちら

pyenvをインストールするコマンド

pipenvをインストールするコマンド

~/.bash_profileに次の内容を追記します。
最後の1行は、プロジェクトディレクトリ配下に仮想環境を配置する設定です。

次のコマンドで設定を反映させます。

 

Python3のインストール

pyenvを使ってPython3をインストールします。pyenvを使うと複数バージョンのPythonをインストールすることができて、簡単に切り替えることができます。

インストール済のPythonのバージョンを確認してみます。
systemはもともと入っているPython 2.7のことです。

 

インストール可能なPython 3系のバージョンを調べます。

 

3.7.3をインストールしたら何かエラーが出た。

 

こちらを参考にして解決

xcode-selectの最新バージョン(2354)にMojave用のmacOS SDK headerがデフォルトで入っていないのが原因のようです。

[MacOS Mojave]pyenvでpythonのインストールがzlibエラーで失敗した時の対応

 

Command Line Developer Toolsをインストール

続けて次のコマンド

3.7.3のインストールに再チャレンジ
今度はうまくいきました。

systemと3.7.3がインストールされていることが確認できました。
*が付いているsystem(2.7)がデフォルトです。

自分はsystem(2.7)を使うことが無いので、次のコマンドで3.7.3をデフォルトに設定します。

確認すると3.7.3に*が付いています。

Pythonの場所とバージョンを確認すると3.7.3に切り替わっています。

 

仮想環境を作る

適当なディレクトリ、例えば~/testを作成して移動します。

Python 3.7.3で仮想環境を作成します。

ディレクトリの中身です。.venv/に仮想環境の一式が入っています。

仮想環境でモジュールをインストールするのは次のコマンド。
試しにnumpyをインストールしてみます。

コマンドpipenv shellを入力して仮想環境に入るとコマンドプロンプトが変わりました。仮想環境でpythonを起動して、さっきインストールしたnumpyのインポートに成功。

quit()でpythonを終了。
exitで仮想環境を抜けます。

簡単なスクリプトを仮想環境で実行してみます。
test.pyを作成します。

pipenv shellで仮想環境に入って、python test.pyを実行したら無事に成功。exitで仮想環境を抜けます。

仮想環境に入ったり出たりが面倒ならば、次のコマンドで直接実行できます。

ちなみに仮想環境を消去したい場合は、次のコマンドです。
Pipfileはそのまま残りますが、.venv/Pipfile.lockファイルは削除されます。

Pipfileには仮想環境が使用するPythonやモジュールのリストが記載されています。Pipfileごと別の環境へ持って行き、そこで次のコマンドを実行すれば、仮想環境を再構築できて楽ちんです。もちろん別環境にもpyenvとpipenvが導入されている必要があります。

 

おわり

Pythonの特徴として、アレするのもコレするのも、モジュールをimport、import、またimportするのが常です。Pythonやモジュールを一緒くたにして、たくさんのPythonプロジェクト維持するのは、Pythonやモジュールどおしの互換性の問題などが生じがちですが、pyenv +  pipenvなら、好きなバージョンのPythonと好きなモジュールを組み合わせた仮想環境をプロジェクト別に簡単に構築できるところが素敵です。

以上です。

Leave a Comment

メールアドレスが公開されることはありません。

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください