DEVGRU

プログラミングと競馬予想について書きます

pyenv-virtualenv を使ってみる

前記事でpyenvのインストールについて書いたんですが、 環境を分ける需要があるので、pyenv-virtualenvについても書いておきます。

team-6.hatenablog.jp

virtualenv はPythonのインストールされたパッケージの状態(環境)を管理するツールです。 これを使うと、あるプロジェクトではパッケージAとB, 他ではパッケージBとC、を使う、などと使うパッケージを分けることができます。 AとCが干渉する、Bの古いものが使いたい、などのケースで役に立ちます。

pip install -r requirements.txt するときには何がインストールされるかわかりませんので、環境を分けておくほうが無難でしょう。

さて、そのインストール方法です。 前記事でpyenvがインストールできている前提です。

git clone https://github.com/pyenv/pyenv-virtualenv.git $(pyenv root)/plugins/pyenv-virtualenv
echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bashrc
exec "$SHELL"

これをインストールしたうえで、pyenv local anaconda3-4.4.0 して.python-versionが作られているディレクトリに入ると、 シェルのコマンドプロンプトの前に(anaconda3-4.4.0)という文字列が表示されます。 環境が何もないので、処理系の名前が表示されるみたいですね。

ここで、myenvという環境を作って有効化してみます。

pyenv virtualenv anaconda3-4.4.0 my-env
# 追加パッケージのインストールが始まる

pyenv activate my-env # my-envの有効化

プロンプトに(my-env)が表示され、環境が切り替わったことが分かります。 作った環境から出て、素の状態に戻るには、pyenv deactivate を実行します。

ただ、このとき、内部ではvirtualenv ではなく、conda envが使われているようで、 virtualenvは使われていない?ようです。

github.com

(my-env) $ conda env list
# conda environments:
#
my-env                *  /home/katoken/.pyenv/versions/anaconda3-4.4.0/envs/my-env
root                     /home/katoken/.pyenv/versions/anaconda3-4.4.0
(my-env) $ virtualenv
The program 'virtualenv' is currently not installed. You can install it by typing:
sudo apt install virtualenv

これでパッケージ衝突に悩まされずに開発ができますね!

入門 Python 3

入門 Python 3

詳細!Python 3 入門ノート

詳細!Python 3 入門ノート

Python3ではじめるシステムトレード ──環境構築と売買戦略 (Modern alchemists series)

Python3ではじめるシステムトレード ──環境構築と売買戦略 (Modern alchemists series)