Macにruby使いがpythonの開発環境を用意する

この記事を書いたひと: @t4traw 2019年8月6日

ちょっとディープラーニングで自分のやりたい事が実現できそうだったので、興味はあるけどハードルが高そうなディープラーニングの勉強をはじめる事にしました。いやぁ、今までと全然違う知識と思考が要求されて、脳をグリグリされてる感覚が超気持ち良いですね

で、言語はpythonを使うことにしたのですが、Macでまともにpython環境を作った事がなかったので、python開発環境を作った時のメモを残しておきます。

といってもbrewでサクっとインストールするだけで、基本的な環境はすべて整います。本当にいい時代になりました……。昔は環境を作るだけで1日かかったりしましたよね……。

rubyを普段使っているのでrubyで言ったら○○みたいな説明になりますがご了承ください。ちなみにrubyは

  • rbenv
  • ruby-build
  • rbenv-gemset

みたいな環境で幸せにコーディング生活を送っています。

python本体のインストール

まずは色々なバージョンをインストールするためにrbenv, ruby-buildのpython版であるpyenvをインストールします。

$ brew install pyenv

そしたら、.zshrcにPATHを追加します。bashな方は適宜読み替えてくださいね。

export PYENV_ROOT=/usr/local/var/pyenv
if which pyenv > /dev/null; then eval "$(pyenv init -)"; fi

.zshrcを再度読み込みます。

$ source ~/.zshrc

というわけで、インストールできるpythonの一覧を表示してみます。この辺も全部rbenvを同じなので楽ですねー。

$ pyenv install -l

表示された中で、とりあえず最新のpythonをインストールしておきました。

$ pyenv install 3.7.4

インストールできたらインストールしたpythonをアクティブ化します。

$ pyenv global 3.7.4

試しにpythonのバージョンを確認します。バージョン番号が表示されたらOKです😁

$ python --version
Python 3.7.4

rubyでいうrbenv-gemsetは標準でvenvというのがあるみたい

さて、次はライブラリとかをサクっとプロジェクト毎に切り分ける方法はなにかなー?と探したら、今は標準でvenvというのがあるみたいです。

こういう環境は極力自然体(デフォルトでいけるならデフォルト)が良いと思っているので、venvというのを使うことにしました。

venvはpythonの本体毎ゴソっと切り替えるので、pythonの世界だと「仮想環境」と呼ぶみたいですね。なので、rubyだとvendor/bundle、nodeだとnode_modulesみたいに、プロジェクトのルートに置くのではなく、~/venvみたいに置くのが普通っぽい?です。

でも僕はいちいちディレクトリを覚えるのが嫌なので、プロジェクトのルートに作ってしまっています。これで何か問題があったら追記します。

venvの使い方は簡単で、

$ python -m venv foobar

これで上のコマンドだとfoobarディレクトリにbin/などが大量に生成されます。この仮想環境を使うには、

$ source foobar/bin/activate

とすればOKです。witch pythonすれば、さきほど生成したディレクトリの中のpythonを参照しているのがわかります。


ひとまずこれで勉強するための環境は整いました。

またデプロイなどする時がきたら色々変わるのかもしれませんが、それはその時に考えようと思います😊

それでは。