読者です 読者をやめる 読者になる 読者になる

ものづくりブログ

ゼロからスタートして何かを作って世に出すまでのことを書くブログです.

MacでPythonの開発環境を構築する

 

こんにちは.

 

ちょっと本業のほうでPythonを使ってみよう的な話になっており,開発環境を構築したのでやり方をまとめておきます.

 

Mac OS LionくらいからPythonが標準で入っているようですが,複数のバージョンを使い分けたりする場合バージョン管理ツールのようなものを使ったほうがよいようなので,それをインストールしてみます.

 

Pythonのバージョン管理ツールとしてpyenvというものをインストールします[1].Macのターミナルで下記のコマンドを実行すると,gitからCloneできます.

 

git clone git://github.com/yyuu/pyenv.git ~/.pyenv

 

Cloneしただけだとまだpyenvを使えない(pyenvにアクセスできない?)ので,pyenvフォルダへの「パスを通す」という作業をします.具体的には下記のようなコマンドを実行すればOKです.

 

echo 'export PYENV_ROOT="Users/ユーザ名/.pyenv"' >> ~/.bash_profile
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(pyenv init -)"' >> ~/.bash_profile

 

赤文字の箇所はユーザごとにことなるので,ご自分のユーザフォルダの名前を使用してください.Usersのところはおそらく同じです.

ここではbash_profileというというファイルは,シェルにログインした時に実行される動作が記述されます[2].シェルとは,ターミナルで実行している動作を司るソフトウェアです.

実際にbash_profileに書き込まれているか確認しましょう.

 

sudo nano ~/.bash_profile

 

末尾に以下のように記入されていれば成功です.

 

export PYENV_ROOT="/Users/daisukekimura/.pyenv"

export PATH="$PYENV_ROOT/bin:$PATH"

eval "$(pyenv init -)"

 

以下のコマンドでシェルを再起動したら反映されます.

 

exec -l $SHELL

 

早速pyenvを使用してPythonをインストールしてみましょう.Vertsion 2.x系と3.x系で,できることが若干違うようなので[3],それぞれの最新(2015/2/16現在)と思われる2.7.3と3.3.0をインストールします[4].

 

pyenv install 3.3.0
pyenv install 2.7.3

 

インストールしたらリハッシュという作業を行います.具体的になぜ必要なのかわかっていませんが,まあ設定を反映させるみたいな意味かなと思います.

 

pyenv rehash

 

つぎにインストールが上手く行っているか確認します.

 

pyenv versions

 

以下のように表示されれば成功です.

 

* system (set by /Users/daisukekimura/.pyenv/version)

  2.7.3

  3.3.0

 

バージョンの切り替えは以下のように行います.

 

pyenv global 2.7.3

 

ちなみにバージョンのアンインストールは以下のコマンドで実行します.

 

pyenv uninstall 2.7.3

 

 

 

以上で開発環境の構築(=Pythonのインストール)は完了しました.

使い始めてしばらくしたら学んだことをまた公開していきます.

 

 

 

参考文献

[1]Qiita「pyenvを使ってMacPythonの環境を構築する」(http://qiita.com/1000ch/items/93841f76ea52551b6a97)

[2]Memo on the Web「PATHを通す方法」(http://motw.mods.jp/Mac/PATH.html)

[3]Python-izm「インストール」(http://www.python-izm.com/contents/introduction/install.shtml)

[4]Python日本ユーザー会「Python標準リリース」(http://www.python.jp/Zope/Zope/download/pythoncore)