読者です 読者をやめる 読者になる 読者になる

技術メモ

役に立てる技術的な何か、時々自分用の覚書。統計学、機械学習、神経科学、暗号理論...と幅広く興味があります。

pythonの仮想環境に関する話

pythonのvirtualenvで仮想環境の作成について。windows

どうして仮想環境を使うのか

チームで開発する時など、環境を統一する必要がある。
ネットで公開する時は、ゼロから環境構築を再現して試してみたい時がある。
仮想環境ではライブラリは何もないのでゼロから環境構築を再現することができる。
加えてpythonは特に、2系と3系で異なるところが多いので使い分けられたら嬉しいことが多い。

使い方

準備

virtualenv自体はpipでinstallできる

pip install virtualenv

環境を作る

新しく環境を作るには、作業ディレクトリでこのコマンドを実行

virtualenv test1

これでtest1という名前の環境用のフォルダができる。

2系と3系を使い分けたい場合pythonのフォルダがあるパスを指定する

virtualenv --python=PATH test1

環境への出入り

環境に入る場合は
環境用のフォルダがある場所で(virtualenvを実行した場所で)

source activate test1

他の場所からこの環境を使う場合はそのフォルダへのパスにしてやる

環境から出る場合は

source deactivate

環境を共有する

今の環境を他のマシンや新しい環境でも再現したい時はどうするか。
virtualenvではpipでパッケージを管理すると思うけれど、

pip freeze > requirements.txt

として、パッケージを書き出すことができる。
ここに書き出したパッケージを一括で落としてくることができる。

pip install -r requirements.txt

パソコンを買い替える時とかにも使えるね。


補足

anacondaでも簡単に仮想環境を作ることができる。
特に異なるバージョンを動かしたい時は、いちいち別バージョンのpythonを予め持っている必要はないので手軽。
例えば、python3.6の環境を作るコマンドは

conda create -n test1 python=3.6

環境用のフォルダが
…/Anaconda2/envs/test1
のようにできるので(上の場合はデフォルトで2系を落としている時)
Anacondaのパスを通しているとどこからでも

source activate test1

として環境に入ることができる。


関連: