きっかけ
仕事でpython使うようになって、環境作る際にvirtualenv使っているのだが、よく使い方を忘れるのでまとめる。
virtualenvとは?
python開発のための仮想環境作成ツール
なぜvirtualenvを使うのか?
- 開発機の環境を汚さずに済む
- ライブラリの依存関係に悩まなくていい
- 環境を再構築しやすい
前提
python, pipがインストール済みであること。
自分の環境
OS
>ver Microsoft Windows [Version 10.0.18362.836]
python
>python -V Python 3.8.1
pip
pip -V pip 19.3.1 from c:\users\<ユーザ名>\appdata\local\programs\python\python38-32\lib\site-packages\pip (python 3.8)
インストール
pip install virtualenv
インストールできたかは、下記のバージョン表示で確認できる。
>virtualenv --version virtualenv 20.0.21 from c:\users\<ユーザ名>\appdata\local\programs\python\python38-32\lib\site-packages\virtualenv\__init__.py
表示ができたらインストール成功。
使い方
インストールしただけだと、環境は作られていない。
基本的な使い方は、下記の通り。
- 仮想環境の作成
- 環境の有効化
環境の作成
$ virtualenv <環境名>
上記コマンドを叩くと、カレントディレクトリに、環境名のフォルダができる。
下記の例だと、sample
フォルダができる。
$ virtualenv sample
ディレクトリ構造は、下記。
sample ├─Lib ├─Scripts ├─.gitignore └─pyenv.cfg
環境構築時、使用するpythonのバージョン指定もできる。
$ virtualenv -p python3.6 sample
この場合は、指定バージョンがインストール済みである必要がある。
仮想環境の有効化
仮想環境を使うには、有効化をする必要がある。
windowsのdos場合だと、<環境名>\Script\activate
で仮想環境が有効化される。
実行すると、下記の例のようにコマンドラインの先頭に(<環境名>)
が付く。
E:\dev\python>sample\Scripts\activate (sample) E:\dev\python>
windowsのgitbash等でやる場合は、source <環境名>\Script\activate
で実行可
mac/linuxだとフォルダ構成が異なっているはず。
bin
フォルダにactivate.shがあるので、source <環境名>/bin/activate
で実行可能
仮想環境から出る
$deactivate
パスが通っているはずなので、上記コマンドで抜け出せるはず。