virtualenvの使い方
備忘録. 新規性は全く無いけど,今後も使う可能性が高いので書いておきます.
Python仮装環境をまるっと作ることができるvirtualenvの準備から使い方までまとめておきます. よく一緒に話に上がることが多いpyenvとpyenv-virtualenvについても,名前と違いだけ触れておきます.
virtualenv
virtualenvとは/インストール
Pythonでの仮想環境を作成,管理できるパッケージです.
パッケージなのでインストールではpip
を用います(詳細は後述)
これを用いる一つのメリットとして,同一バージョンだけど異なる環境を複数作成することができます.
python3系の場合は以下のコマンドからインストールできます.
$ pip3 install virtualenv
pip3 list
をして,virtualenv (xx.xx.xx)
と追加されてれば完了です.
使ってみる
実際に使ってみます.今回はenv_test01
という名前の環境を作ります.
$ virtualenv env_test01
これだけです.するとenv_test01
というディレクトリができていると思います.この中にPythonの環境がまるっと入っている形になります.(いらなくなれば全部削除すればいいわけです)
上でも述べたように,virtualenvのメリットとして同一バージョン間の異なる環境構築が手軽にできるという点があります.
名前を変更してやればそのぶんだけ環境が作れるわけです.
オプションを指定しなければvirtualenv
をインストールした環境と同じ環境が構築されます.
指定する場合は
$ virtualenv env_test02 -p python2.7
というふうにすると,異なるバージョンの環境を構築できます.
では作った環境を使って見ましょう.
ディレクトリを移動して,bin/activate
を対象に以下のコマンドを入力します.
$ cd env_test01 $ cd bin $ source activate
一行でsource env_test01/bin/activate
でもいいとおもいます.
すると先ほど作ったまっさらな環境に入ることができました.
あとは好きにするだけです.
最後に入った環境の閉じ方だけ紹介して, 使い方解説は終了です,お疲れ様でした.
$ deactivate
参考に私の環境での実行での様子を載せておきます.
似ているのの紹介
上で名前だけあげたpyenvとpyenv-virtualenvについて,名前と違いだけ触れておきます(個人的な備忘録)
pyenv
virtualenvと同じくPythonでの仮想環境を作成,管理できるパッケージです. 歴史的にはvirtualenvのが古いらしいです. バージョンが異なる環境を作れますが,モジュールを管理しているディレクトリが共通なので, 同一バージョン間で異なる環境がこれ単体ではできません. それを解決するのがpyenv-virtualenvのようです.
pyenv-virtualenv
pyenv-virtualenvはpyenvのプラグインになります. virtualenvとは無関係です(私も事前調査で混乱しました.混同して説明されているケースもあるので注意). これを使うことで,モジュールを別々のディレクトリで管理できるようになり,同一バージョン間で異なる環境が立てられるようになるようです.
終わりに
必要になって書いたのがひと月以上前なのですが,最後の使ってみる部分の記述をずっとしてなくて, ふと思い立って一気に書き上げました.
やりたいことを成すための調査→事前知識まとめ/方法決定→実行→ブログに起こす,までのステップで最後の部分をしっかりやりきることが少なく, これからはちゃんと最後までやりきりたいなーと感じたので, とりあえずここからやっていきます.