macでpyenvを使ってpython3を始めよう

macでpyenvを使ってpython3を始めよう

今回は、mac で、pyenv を使ってpython3 を始めるためのメモを残そうと思います。

pyenv (ピーワイエンブ)は、異なるバージョンのpythonを複数管理できるツールで、例えば「このプロジェクトはpython2 で、あのプロジェクトはpython3 で開発する」のようなことが可能です。何より、デフォルトでインストールされているpython を汚さずに、新しいpython をインストールできる、というメリットがあります。

検証環境

macOS High Sierra

まずは、今インストールされているpython のバージョンを、一応調べておきます(もちろん、インストールされていなくても大丈夫です)。

$ python --version
# Python 2.7.10

2.7.10 ですね。

pyenv のインストールと設定

インストールにあたり、macはhomebrewという優秀なパッケージマネージャがあるため、それを使います。homebrewをインストールしていない場合は、この機会にインストールしておくことをお勧めします。開発者であれば必ず使うかと思います…多分…

homebrew で、pyenv をインストールします。

$ brew install pyenv

1分くらいで完了するかと思います。

インストールできたか、確認しましょう。

$ pyenv -v
# pyenv 1.2.4

pyenv バージョン1.2.4 がインストールされました。

次に、シェルの設定ファイルに変更を加えるため、以下のコマンドを実行します。
以下のコマンドは、pyenv の公式ドキュメントからの引用です。
zsh ユーザの場合は、「~/.bash_profile」を「~/.zshenv」 に書き換えて実行してください。

$ echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n  eval "$(pyenv init -)"\nfi' >> ~/.bash_profile

設定を反映するために、シェルを再起動します。

exec "$SHELL"

python3 をインストール

ここからようやく、python 本体のインストールになります。
まずは、インストール可能なpython のバージョン一覧を見たいですね。以下のコマンドを実行しましょう。

$ pyenv install --list

現時点(2018.6.18)では、python 3.6.5 が最新のようなので、それをインストールしようと思います。

$ pyenv install 3.6.5

これは少し時間がかかります。僕のmacでは10分程度でしたが、5分経過後くらいからファンが回り始めました。

完了したら、現在インストールされているpython の一覧を確認しておきましょう。以下のコマンドを実行します。

$ pyenv versions

結果は、以下のようになるかと思います。

* system (set by /Users/xxxxx/.pyenv/version)
3.6.5

アスタリスク(*)の付いているバージョンが、現在使用されているpython のバージョンです。この状態ではまだ、システムのpython (デフォルトで入っているpython )を使うようになっています。

これを、mac全体で、3.6.5 を使うように切り替えます。

$ pyenv global 3.6.5

もう一度、インストールされているpython の一覧をみてみましょう。

$ pyenv versions

結果は、以下のようになり、3.6.5 に切り替わった状態になるはずです。

  system
* 3.6.5 (set by /Users/xxxxx/.pyenv/version)

これで、python3 を使えるようになりました!

$ python --version
# Python 3.6.5

特定ディレクトリのみ違うバージョンのpython を使う

さて、複数のプロジェクトに関わっていると、「ディレクトリによって、使うpython のバージョンを変更したい」という状況になることがありますが、pyenv を使えばこれも解決することができます。

具体的には、ディレクトリ内に移動(cd)し、

$ pyenv local xxxxx(バージョン)

のように、local というサブコマンドを使うと、そのディレクトリ内は、特定のバージョンのpython を使うことができます。

例として、project というディレクトリ内のみ、システムのデフォルトのpython を使う場合は、以下のように設定し、確認することができます。

$ mkdir project
$ cd project
$ pyenv local system
$ python --version
# Python 2.7.10
$ cd ../
$ python --version
# Python 3.6.5

まとめ

mac での、pyenv を使った、 python3 の始め方を簡単に紹介しました。

ちなみに、Perl にはplenv 、Ruby にはrbenv という、ほぼ同じようなツールが存在するので、この種のツールは、一つ知っておくと、応用が効くかと思います。

Python 頑張っていきましょう。