いーほろよいの技術ブログ

IT技術ブログになります。

virtualenvをインストールしようと思ったらpyenv-virtualenvになった

間が空いてしました。

色々と忙しくて...(言い訳です。)

 

↓前回、pyenvをインストールした話の続きです。

e-horoyoi.hatenablog.com

 

virtualenvをインストールしようと思ったらpyenv-virtualenvというプラグインがあるようなので、大人しくそれをインストールします。(正直、違いがよくわかっていません。)

分かっている事はpyenv-virtualenvを使用する事でpyenvでインストールした各バージョンのプラグインを分けて使用できるようになるようです。

例えば、バージョン3.6.1にパッケージのipythonが入っている仮想環境、入っていない仮想環境という具合に別々の環境が作れる。

 

インストールはGitHubに公開されているpyenv-virtualenvにあるreadmeの手順に沿って行うだけです。

github.com

 

手順

pyenv-virtualenvの準備

>git clone https://github.com/pyenv/pyenv-virtualenv.git $(pyenv root)/plugins/pyenv-virtualenv

 

cloneできたか確認する。(pyenv-virtualenvがあればOK

>ls -l ~.pyenv/plugins/

 

ログイン時にvirtualenvが有効になるように設定ファイルに追記

>echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bash_profile

 

設定ファイルの読み直し

※個人的には"souce ~/.bash_profile"をオススメします。(何故かpyenv shellが認識されなかったので)

>exec "$SHELL"

 

作成する仮想環境に必要なpythonのバージョンをインストール

今回は2.7系を予めインストールしておく(3系でも手順は同じです)

>pyenv install 2.7.13

↓警告が出るけどインストールできた。

WARNING: The Python bz2 extension was not compiled. Missing the bzip2 lib?

 

仮想環境の作成

バージョンが2.7.13のmy-virtual-env-2.7.13という仮想環境を作成する。

コマンド実行後に"ls -l ~/.pyenv/versions/"を実行すると分かり易いです。

インストール済みの各バージョン以下のenvsディクトリ以下に作成されます。

それを各バージョンと同じ階層にシンボリックリンクを貼ってます。

>pyenv virtualenv 2.7.13 my-virtual-env-2.7.13

 

検証用にenv2.7.13という仮想環境も作成する。

>pyenv virtualenv 2.7.13 env2.7.13

 

仮想環境の構築 (その1)

作成された仮想環境(my-virtual-env-2.7.13)を構築するためアクティブ状態にします。

※これを実行するとbashプロンプトにアクティブ状態の仮想環境名が表示されます。

 >pyenv activate my-virtual-env-2.7.13

 

試しに作成した仮想環境(my-virual-env-2.7.13)にipythonをインストール

>pip install ipython

 

インストールされた事を確認

>pip show ipython

 

仮想環境の構築 (その2)

このままenv-2.7.13に切り替えてipythonがインストールされているか確認してみます。

>pyenv activate env2.7.13

 

ipythonがインストールされているか確認

>pip show ipython

※表示されないはず 

 

まとめ

流れとやる事を下記にまとめます。

 

予め作成する仮想環境に対応したpythonのバージョンをインストール

>pyenv install {バージョン}

 

仮想環境の作成(必要な分)

>pyenv virtualenv {pythonのバーション} {仮想環境名}

 

作業ディレクトリを作成

>mkdir ~/{作業ディレクトリ名}

 

作業ディレクトリに移動して仮想環境を指定

>cd ~/{作業ディレクトリ名}

>pyenv activate {仮想環境名}

 

仮想環境に合わせてプラグインをインストール

作成した仮想環境ごとに使用するプラグインをインストールする。

※心配なら仮想環境以下を覗いて確認

python2系

>pip install {パッケージ名}

 

python3系

>pip3 install {パッケージ名}

 

仮想環境別のパッケージインストールの確認する場所

~/.pyenv/versions/{仮想環境名}/lib/{pythonバージョン}/site-packages/

 

仮想環境から抜ける

作業が終り仮想環境から抜けたいとき

>pyenv deactivate

 

以上、virtualenvあらためpyenv-virtualenvでした!

 

次回予告

php-envをやろうかと思ったのですが、Ruby on Railsを掘り下げてみたいと思います。

 

最後まで読んでいただきありがとうございます!