はじめに
macにpythonを導入してみましょう。
実はMacには最初からpythonが入っています。ターミナルから確認できます。
python --version => Python 2.7.10
ですので、2.7.10(私の環境の場合)で使用していく場合は特にインストールは不要です。
ただ、Pythonではバージョン2.x系と3.x系があり、互換性がないのでPythonのバージョンを2.x系と3.x系で切り替えたり、さらに詳細なバージョンを指定したいという場合があると思います。
そこで、今回は、Pythonバージョン管理ツールである「pyenv」を利用してMacにPython環境を構築していきたいと思います。
「pyenv」を利用すると、簡単にPythonのバージョンを切り替えることができます。
構築手順
まず「pyenv」についてですが、ざっくりと説明するならrbenvのPython版のようなものです。ですので構築手順はほとんど同じです。
※rbenvについては私の記事で恐縮ですが、下記をご覧ください。
では、さっそく構築してみましょう。
1.pyenvをインストール
Homebrewを使ってインストールするのが便利です。
もしHomebrewをインストールしていないのであれば、下記の記事を参考にしてください。
下記のコマンドでHomebrewをインストールすることができます。
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Homebrewがインストールされたら次はpyenvをインストールします。
brew install pyenv
2.pyenvにパスを通す
インストールが完了したら、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
3.pyenvでPythonをインストール
pyenvが正常にインストールされているか確認するために、pyenvのバージョンを確認してみましょう
pyenv -v => pyenv 20150310
バージョン値として20150310と表示されました。バージョンアップは正常に完了しているようです。
次にpyenvからインストール可能なPythonのバージョンを確認します。
pyenv install -list => Available versions: 2.1.3 2.2.3 2.3.7 2.4 2.4.1 2.4.2 2.4.3 2.4.4 ・・・(以下略)
試しにバージョン「2.7.11」をインストールしてみます。
pyenv install 2.7.11 pyenv rehash
次にバージョン「3.5.1」をインストールしてみます。
pyenv install 3.5.1 pyenv rehash
pyenvでインストールされているバージョンを確認します
pyenv versions => * system (set by /Users/Me/.pyenv/version) 2.7.11 3.5.1
それでは、実際に使用するバージョンを指定してみましょう。
(デフォルトで使用したいバージョンを指定する場合はglobal、特定のディレクトリのみで使用するバージョンを指定する場合はlocalを使用します。)
バージョン「3.5.1」をデフォルトで使用するバージョンとして指定してみます。
pyenv global 3.5.1 python --version => Python 3.5.1
これでバージョン「3.5.1」がデフォルトのバージョンになりました。
※最近は数値計算やデータ分析などでよく利用されるパッケージもまとめてセットアップできる「Anaconda」を導入するのが人気のようですので、別記事でAnacondaについても書きました。よろしければそちらもご覧ください。
MacにAnacondaでPythonの開発環境を構築してみる
(2016-07-18 追記)
4. ついでにpyenv-virtualenvをインストール
Pythonの環境構築では、pyenvの導入だけでも十分なのですが、pyenvだけではできないことがあります。
pyenvはバージョン毎にPython環境を分けることはできますが、同一バージョンの場合は環境を分けることができません。
たとえば、バージョン「3.5.1」を利用したプロジェクトが2つあり、それぞれ、異なるパッケージを利用したい場合であっても、pyenvだけでは、「3.5.1」に対しては一つのPython環境しか持つことができないため、同一のPython環境を使うしかありません。
そこで、同じバージョン「3.5.1」を利用したプロジェクト毎に、Python環境を構築することができるようにするために、pyenvのプラグインである「pyenv-virtualenv」を利用します。
なお、pyenv-vitualenvに関しては下記のサイトの説明が非常にわかりやすかったです。
引用させていただきます。
pyenv-virtualenvはpyenvのPython環境の名前空間が従来はバージョン番号のみだったのに対し任意の文字列を利用することが可能になるpyenvプラグイン。
引用:Pyenvとvirtualenv pluginによるPython環境を構築する
では、さっそく、「pyenv-virtualenv」を導入しましょう。
git cloneでインストールします。
#githubからインストール pyenvのプラグインディレクトリに配置 git clone git://github.com/yyuu/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv #設定をbash_profileに記載 echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bash_profile source ~/.bash_profile
インストールが完了したら、使用するPython環境を作成します。
virtualenvコマンドを実行し、Python環境を構築してみましょう。
今回はバージョン「3.5.1」の別環境として、「test_3.5.1」という名前のPython環境を構築しています。
コマンドは下記のようになります。
#pyenv virtualenv (バージョン) (環境名) pyenv virtualenv 3.5.1 test_3.5.1
なお、現在、作成されているvirtualenvの環境を確認するには以下のコマンドを使用します。
test_3.5.1が作成されているはずです。
pyenv virtualenvs => test_3.5.1 (created from /Users/Me/.pyenv/versions/3.5.1)
では、「pyenv-virtualenv」で構築したPythonの環境(test_3.5.1)を利用してみましょう。
たとえば、「python_project1」というプロジェクトに対して、上記のPython環境を適用させるには、
「python_project1」というディレクトリを作成し、作成したプロジェクトディレクトリ内に移動し、下記のコマンドを入力します。
mkdir python_project1 && cd $_ pyenv local test_3.5.1
適用されているか確認してみましょう。
pyenv versions => system 2.7.11 3.5.1 *test_3.5.1
「test_3.5.1」の前に「*」が表示されてますので、正常に適用されていることが確認できます。
上記の状態でパッケージをインストールしても、他の環境には影響しません。
なお、パッケージをインストールするにはpipを使用します。
pip install (パッケージ名)
インストール済みのPythonパッケージを確認してみます。
pip freeze
最後に適用したPython環境から抜ける場合は、下記のコマンドを入力します。
pyenv local --unset
さらに環境を削除するには、下記のコマンドを入力します。
pyenv uninstall <バージョンまたは環境名>
今回は以上です。
MacによるPython3入門という記事を書きましたので、よろしければこちらもご覧ください。
参考