Takuya です。
最近、本業でPythonを使い始めました。
主にRで行っていたデータの加工をPythonに切り替えただけですが、特に詰まることもなく切り替えられたので、今後はPythonを使っていこうと思っています。
今日はPythonを使用し始めるにあたり、Macに導入した pyenv と virtualenv について書きたいと思います。
pyenv とは?
pyenv は Python のバージョンを管理するためのツールです。
バージョンを簡単に切り替えられるようにするツールですね。
Python のバージョンは大きく分けて 2.X系 と 3.X系 がありますが、互換性がありません。 そのため、バージョンを切り替えたい場面が多いのでしょうか。
virtualenv とは?
virtualenv は Python の仮想的な実行環境を作ることができるソフトウェアです。
仮想的な実行環境が必要だったわけではないのですが、とある事情で、 virtualenv が必要だったため使い始めました。
ローカルの開発環境はごちゃごちゃしやすいので、仮想的に環境を分けられるメリットは多くの人が享受できるのではないかと思います。
pyenv と virtualenv をインストールしよう
さっそくインストールしてみましょう。
今回は Mac へのインストールです。
pyenv
pyenv のインストールは Homebrew を使います。
Homebrew は Mac 用のパッケージマネージャーで、Mac で使えるツールを簡単にインストールするためのソフトウェアです。
下記サイトに Homebrew のインストール方法が書かれています。
ターミナルアプリでコマンドを1行実行するだけで、インストールできます。
Homebrewはbrewコマンドで操作します。
pyenvをインストールするには次のコマンドをターミナルで実行します。
brew install 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
これで完了です。
最後に動作を確認してみましょう。
次のコマンドをターミナルで実行することで、インストール可能なPythonのバージョンが確認できます。
pyenv install -l
virtualenv
続いて、virtualenv をインストールします。
virtualenv のインストールには pip を使用します。
pip は Homebrew の Python版です。
次のコマンドをターミナルで実行して virtualenv をインストールします。
pip install virtualenv
これで完了です。
virtualenv も動作を確認してみましょう。
次のコマンドをターミナルで実行して、virtualenv のバージョンを確認します。
virtualenv --version
pyenv とvirtualenv を使ってみよう
無事にインストールできたでしょうか?
では、さっそく使ってみましょう。
pyenv
まずは pyenv です。
Python 3.6.6 をインストールして、切り替えてみます。
最初に現在の Python のバージョンを確認してみましょう。
python -V
Mac の方は 2.X.X とバージョンが表示されるはずです。
次に Python 3.6.6 をインストールします。
ここで言う「インストール」は 「pyenv で切り替えられるバージョンに 3.6.6 を追加する」という意味になります。
次のコマンドで pyenv で切り替えられるバージョンに 3.6.6 を追加します。
pyenv install 3.6.6
最後に Python 3.6.6 に切り替えます。
pyenv global 3.6.6
これで完了です。
切り替わっているかどうかはpython -V
コマンドで確認しましょう。
virtualenv
続いて virtualenv です。
まずは仮想環境を作りたいフォルダーに移動します。
cd ~/my_project
フォルダー名「my_project」は適宜変更してください
次に仮想環境を作ります。
私は Python のバージョンを指定する形で作っています。
virtualenv my_env --python=[pythonがインストールされているフォルダー]
「my_env」は仮想環境名になります。
[pythonがインストールされているフォルダー]はwhich python
コマンドで確認できます。
pyenv を使用している場合はどのバージョンになっていても同じフォルダーになるはずです。
仮想環境が作られると、仮想環境名のフォルダーが作成されます。
最後に仮想環境を有効にします。
source my_env/bin/activate
仮想環境が有効になるとターミナルのプロンプト名に仮想環境名が付きます。
(my_env) $
仮想環境はdeactivate
コマンドで無効にできます。
追記)pyenvのコマンド
次のコマンドで pyenv のコマンドを確認できます。
pyenv -h
おわりに
今回は pyenv と virtualenv についてお伝えしました。
pyenv は Pythonのバージョンを簡単に切り替えられるので、良さが伝わりやすいと思いますが、virtualenv は仮想環境を作ると、どんなメリットがあるのか、具体的に挙げてみないと、良さが伝わらないように思うので、その辺を今後追記、または別記事にしたいと思います。
以上です。
コメント