pyenvを使ったPyhtonのローカルプログラミング環境構築【Mac編】
- 公開日:2018/10/06
- 更新日:2020/04/23
- 投稿者:n bit
Macのローカル環境にpyenvを利用してPythonのプログラミング環境を構築する方法を解説。pyenvを利用することでPythonのバージョンを複数の環境で切り替え、利用するパッケージごとに構築環境を切り分けと言った要件に対して容易に対応できます。
この記事は約 分で読めます。(文字)
当ページの前半部分ではpyenvとはどのようなものか、pyenvの利用のメリット、pyenvにできないことなどを解説しています。
そのような基礎知識は不要でとにかくpyenvを使ったPythonのローカルプログラミング環境の構築方法のみ知りたいといった方はこのページの後半「pyenvを使ってPyhtonのローカル環境構築」からご覧ください。
pyenvとは
pyenvとは、仮想環境上で用途別にPythonの複数のバージョンの環境を構築し切り替えて利用するための管理ツールです。
- 1台のパソコンのローカル環境に複数のPythonの環境を構築し切り替えて利用できる
pyenvの利用メリット
pyenvを使って複数の仮想環境構築できることによるメリットは主に以下の3つです。
- 用途ごとに開発環境を用意することができる
- 開発環境を容易に扱える
- anaconda、pypy、jython、stacklessなどの仮想環境も構築出来る
用途ごとに開発環境を用意することができる
利用するメリットとしてまず第一に挙げられるのは『用途ごとに開発環境を用意することができる』ことでしょう。
例えば以下のような環境の分け方があります。
- Pythonを使ったウェブアプリケーションの開発環境(Django等)
- Pythonを使った分析環境(anaconda、言語処理、機械学習環境等)
- Pythonやパッケージの新しいバージョンのテスト環境
上記はあくまで一例ですのでご自分の利用用途によって分けてください。
それぞれ利用の用途によって必要となるPythonのバージョンや関連パッケージが変わります。環境を分けておくことで環境ごとに必要なパッケージを厳選することができますので不用なエラーを避けることに繋がるのです。
また新しいバージョンのPythonやパッケージが出たときに簡単にテスト環境を用意して試すことができるのはとても使い勝手が良いでしょう。
開発環境を容易に扱える
もう一つのメリットは開発環境を容易に扱えることです。
システム内に全ての環境を構築すると環境が壊れたときに全てやり直す必要があります。しかし、pyenvを使って利用環境ごとに分けておくことで1つの環境壊れてもその環境のみを一度削除してやり直すだけで再構築することができます。
環境構築に費やす時間は生産性がなく無駄でしかありません。出来る限り簡易に開発環境を扱える事は重要なメリットと言えるでしょう。
anaconda、pypy、jython、stacklessなどの仮想環境も構築出来る
Pythonのみではなくanaconda、pypy、jython、stacklessなどの仮想環境を構築して簡単に切り替えることができるのもメリットです。
一言でPythonといっても様々な用途に利用することができる言語ですのでPython単体のみ以外の環境も容易に構築できることが重要です。
pyenvにできないこと
いろいろ簡易に構築することができるpyenvですが、できないこともあります。
その中でも1番気をつけておくべきものは同じPythonのバージョンで違う仮想環境を構築することができないと言うことでしょう。例えばPython 3.7.0で2つの仮想環境を作るといったケースです。
pyenv-virtualenvで解決
今回の環境構築には利用していませんがpyenvのプラグインで「pyenv-virtualenv」があります。こちらを利用することで同じPythonのバージョンで違う仮想環境構築することができます。
同じPythonのバージョンで違う仮想環境を構築する用途がなかったのと、構築環境が複雑になるのを私はあまり好みませんので今回は利用していません。
pyenvを使ってPyhtonのローカル環境構築
ここからはpyenvを使ったPythonのローカル環境構築方法の解説です。pyenvのインストールに始まりPyhtonのインストール、動作確認まで行います。
pyenvのインストール
まずHomebrewでpyenvをインストールします。まだHomebrewをインストールされていない方は下記のページを参考にしてHomebrewをインストールしておいてください。
Homebrewの基本とインストール方法・使い方
MacでPythonの環境構築や各種パッケージのインストールなど頻繁に利用されるHomebrew。Homebrewの基本的な知識や役割に関する情報とインストール…について解説しています。Macで各種環境構築を行うときには必須となるものです。
pyenvをHomebrewでインストールするには下記のコマンドを入力します。
$ brew install pyenv
念のためopensslへのパスを通しておきます。
$ echo 'export PATH="$HOME/.pyenv/bin:$PATH"' >> ~/.bash_profile
pyenvにパスを通しておきます。追加しておくことでターミナル起動時『~/.pyenv/shims』へのパスが通りpyenvコマンドや補完機能が使えるようになります。
$ echo 'eval "$(pyenv init -)"' >> ~/.bash_profile
$ exec $SHELL -l
.bash_profileはユーザディレクトリの直下にあります。
.bash_profile内を確認しましたら下記の画像のように先程のコマンドが反映されていることを確認できます。
- 参考用に記述していますが.bash_profile内を必ず確認する必要はありません。
pyenv環境にインストール済みのバージョン一覧確認
pyenv環境にインストール済みのPythonバージョンを確認します。現在はpyenvをインストールしたばかりですのでシステムの表示のみです。
$ pyenv versions
* system (set by /Users/○○○/.pyenv/version)
これでpyenvの仮想環境にPythonをインストールする準備が整いましたので次は実際にPythonをインストールしていきましょう。
pyenv環境にインストール可能なバージョンの一覧確認
pyenv環境内にインストールすることができるPythonのバージョンを一覧で確認します。
$ pyenv install --list
・
・
・
3.6.5
3.6.6
3.7.0
3.7-dev
3.8-dev
・
・
・
標準のPythonに関してはバージョン番号のみ表示されます。
pyenv環境にPython 3.7.0をインストール
表示された一覧のリストの中から必要なPythonの環境を選択してインストールしていきます。インストールするPythonのバージョンはご自分の開発環境に合わせて選択してください。
今回は1番新しいPython 3.7.0をインストールしていきましょう。
$ pyenv install 3.7.0
以下のように表示されていれば正しくPythonがインストールできています。
Installed Python-3.7.0 to /Users/○○○/.pyenv/versions/3.7.0
pyenv環境にインストール済みのバージョン一覧確認
先ほどインストールしたPython 3.7.0がpyenv環境の中にあるか確認しておきましょう。
$ pyenv versions
* system (set by /Users/○○○/.pyenv/version)
3.7.0
systemの下に3.7.0の項目が増えていることが確認できます。
systemの横に「*」印が付いていますが、これは現在pyenv環境内でsystemが選択されているという表示です。このままではPython 3.7.0を利用できませんのでpyenv環境で利用するPythonを3.7.0に切り替えましょう。
pyenv環境内で利用するPythonの切り替え
pyenv環境内で利用するPythonをsystemから先ほどインストールしたPython 3.7.0に切り替えていきます。
切り替えるにはglobalコマンドを入力してください。
$ pyenv global 3.7.0
正しく切り替わっているかを確認しておきましょう。
$ pyenv versions
system
* 3.7.0 (set by /Users/○○○/.pyenv/version)
3.7.0の横に「*」印が付いていますのでpyenv環境内で利用するPythonが3.7.0に切り替わってています。
pyenv環境内にインストールしたPythonの動作テスト
pyenv環境内にインストールしたPythonが正しく動作するかをテストしておきましょう。
ターミナルにpythonと入力してPythonを起動します。
$ python
Pythonが起動しましたらprint関数を使ってHello Worldを表示させてみましょう。
Python 3.7.0 (default, Oct 4 2018, 14:39:17)
[Clang 10.0.0 (clang-1000.10.44.2)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> print('Hello World')
Hello World
表示が確認できましたらexit()を使ってPythonを終了します。
>>> exit()
これでpyenvを使ったPyhtonのローカル環境構築手順は全て終了です。後は自分の利用環境に合わせて必要なパッケージ等をpipでインストールしていきましょう。
pyenvのその他の基本操作
今回の新規環境構築作業では利用しませんでしたが今後pyenv環境を使っていく中でよく利用することになるコマンドをいくつか紹介しておきます。
pyenv環境にインストール可能なパッケージをフィルタリングして一覧表示
pyenv環境にインストール可能なリストを一覧表示すると数が多すぎますので必要なものだけを文字列でフィルタリングして表示させる方法です。
文字列『anaconda』が含まれるパッケージをフィルタリングする場合
$ pyenv install -l | grep anaconda
pyenv環境内のPythonをアンインストール
pyenv環境内にインストールしているPythonはuninstallコマンドでアンインストールできます。不要になった環境はアンインストールしておきましょう。
$ pyenv uninstall 3.7.0
今日のdot
pyenvを利用することで1台のパソコンのローカル環境にも様々な用途別にPythonの仮想環境を構築することができます。
例えば以下のようなPythonの仮想環境です。
- Pythonを使ったウェブアプリケーションの開発環境(Django等)
- Pythonを使った分析環境(anaconda、言語処理、機械学習環境等)
- Pythonやパッケージの新しいバージョンのテスト環境
当ページのpyenv環境構築方法を利用して自分の用途に合ったPython仮想環境を構築してください。
【フリーランス向けの完全無料Pythonプログラミング講座】
dot blogではこの記事以外にも完全無料でフリーランス向けのPythonプログラミング講座を公開中です。フリーランスとして活躍し稼ぐための強力な武器となりますよ。
Python入門講座【無料のプログラミング学習講座】
最近特に注目度が高くなってきているプログラミング言語Python。転職、フリーランス、独立・起業を検討中、日々の業務が忙しい社会人等は今こそ身に付けておきたいスキルの1つ。初心者向けにやさしいプログラミング学習内容のPython入門講座を無料で公開。