ぼっちエンジニアのリーンなブログ

リーン・スタートアップ、プログラミングなどについてまとめます

RubyエンジニアがPythonを始めてみる① インストール編(Pyenv, Virtualenv) for Mac

概要

諸事情あってPythonを使う必要が出てきたので、インストールメモを書いておく
(GoogleAnalyticsのライブラリがJava, PHP, Pythonしかない…)
個人的に新しい言語を導入する時に最初に調べるものは4つある  

  1. 復数バージョンの一括管理方法(Rubyで言うrvm, rbenv, Nodeのnvm)
  2. 外部パッケージ等のインストール方法
  3. 外部パッケージをプロジェクトで切り分ける方法(Rubyで言うGemfile(bundler), Nodeのpackage.json
  4. デバッガー(Rubyで言うpry, Nodeのnode debug)

今回は、上3つについて語ります。(デバッガーについては次以降)

とりあえず上から今回調べたものを書いていくと、

  1. Pyenv (rbenvとかと同じような感じで使える)
  2. pip (gemみたいな感じ)
  3. Virtualenv (bundlerなどとは違うが、似た概念を提供している)

今回はこれらについてのインストール方法と簡単な使い方を書いていきます

復数バージョン同時管理! Pyenvのインストール

Homebrewが使えるみたいなのでかなり簡単。

Homebrewのインストールはこちら

$ brew update
$ brew install pyenv
$ echo 'eval "$(pyenv init -)"' >> ~/.bash_profile # zshを使っている人は~/.zshrc

Pyenvの使い方

利用できるバージョンリストを取得

$ pyenv install -l

数字で表示されているものの最新でだいたい良い気がするので、それをインストール(2016/03/04時点では3.5.1)

$ pyenv install 3.5.1

macだとzlib関連のエラーが発生した
zipimport.ZipImportError: can't decompress data; zlib not available その場合はxcode-select --install をすればインストールできるようになる

インストールしたバージョン 3.5.1 を常に使うようにglobalに設定

$ pyenv rehash
$ pyenv global 3.5.1

現在利用しているバージョンを確認

$ pyenv versions # 星(*)マークが付いているものを利用している
    system (set by /Users/~~~/.pyenv/version)
*  3.5.1
$ python --version # pythonで直接確認することもできるよ
Python 3.5.1 # こんな感じに出力されたらOK

これで別のバージョンをインストールしたいときはすぐに出来そう

外部パッケージのインストール。

とりあえずpipで

Pythonのパッケージマネージャ(?)はpipとかeasy_installとかあり、統一されていないようだ(anacondaとかもあるみたい)
ただ、だいたいpipっぽいのでpipで!!
という雰囲気を感じたのでとりあえず他のは無視して良いんじゃないだろうか

使い方は超シンプルだ。

$ pip install <package name>

これだけ! gemっぽいよね!

インストールされているパッケージのリスト表示

$ pip list

パッケージのアンインストール

$ pip uninstall <package name>

外部パッケージをプロジェクトで切り分ける方法

Virtualenvという概念が面白い

pipを使うと、入れたライブラリがシステム全体に反映されてしまって各プロジェクトごとに必要なライブラリがわからないという問題が出る
Virtualenvというのは、Rubyのbundlerに近く、プロジェクトごとにライブラリを管理できる
少し違うのが、名前の通り仮想的なpythonの環境を作っているというところだ
仮想python環境をプロジェクトごとに使って、そちらに変更することでbundlerと同じようなことを実現しているみたいだ

パッケージの管理

Gemfileみたいなものはないのだが、下記コマンドで同様のもの(どちらかというとGemfile.lockかな)を作成できる

pip freeze > requirements.txt

逆にインストールするときは

pip install -r requirements.txt

でできる

インストール方法

pip install virtualenv

使い方

# プロジェクトフォルダをsample_virtualenvとすると、
$ virtualenv sample_virtualenv
Using base prefix '/Users/zenn/.pyenv/versions/3.5.1'
New python executable in /Users/zenn/samplecodes/python/sample_virtualenv/bin/python3.5
Also creating executable in /Users/zenn/samplecodes/python/sample_virtualenv/bin/python
Installing setuptools, pip, wheel...done.

色々フォルダができる

$ ls  sample_virtualenv
bin                include            lib                pip-selfcheck.json

Virtualenvを活性化

$ source ./sample_virtualenv/bin/activate

これでこのプロジェクトの仮想python環境に移動したことになるらしい。(zshだと今の仮想python環境を教えてくれたりするので便利)
pip listとかするとちゃんと変わっていることがわかるはず(新しい環境だと3つくらいのパッケージしかない)。

Virtualenvを非活性化

$ deactivate

では、楽しいPythonライフを送りましょう!