pythonの仮想環境って複数候補があります。
どれがいいのか分からない。という方もいるでしょう。
先に結論を述べるなら
初心者なら「venv」が簡単で確実です。
最初の起動のコードが長いですが
それ以外はシンプルで扱いやすいです。
今回、他にどんな仮想環境があるのかもまとめてみました。
それぞれの仮想環境でよく使うコードも紹介します。
参考までにどうぞ。
仮想環境とは
簡単にいうと、プロジェクトごとのライブラリの箱。
この仮想環境の箱がないと、フレームワークやライブラリを
すべて同じ場所に入れることになり、重複し複雑化します。
例えば、djangoのver2.1以上が必要なのに
バージョンが合わないなどの問題が生じてしまいます。
そのため、仮想環境にはプロジェクトごとに
ライブラリの箱を作り、最小限の数でまとめることができます。
仮想環境の種類
主な仮想環境としては以下のようなものでしょうか。
- pipenv
- venv
- virtualenv
- conda
ひとつずつ説明していこうと思います。
pipenv
pipenvはモジュールで
virtualenv (venv)とpipが複合したものです。
仮想環境の作成と同時にpipfileが作られ
インストールしたモジュールを記録します。
そして別のpipenv仮想環境でコピーすることができます。
僕はこのコピーが好きでpipenvをよく使います。
ここから各コードの説明をします。
pipenvのインストール方法
$pip install pipenv
pipenvの仮想環境を有効化・仮想環境を終了
・有効化
$pipenv shell
・終了
$exit
パッケージのインストール
$pipenv install ***
仮想環境のパス確認
$pipenv —venv
requirements.txt/pipfile/pipfile.lockからモジュールをコピー
・requirements.txt
$pipenv install -r ./requirements.txt
・pipfile
$pipenv install
・pipfile.lock
$pipenv sync
仮想環境の削除
$pipenv —rm
Pythonのバージョンを決めてpipenvを作成
$pipenv —python 3.X
venv
python公式サイトでも使用されている「venv」
python3.3以降で標準機能として
入っているため、インストールは不要
仮想環境の作成(**は仮想環境名)
$ -m venv **
venvの仮想環境を有効化・終了
・有効化
$source **/bin/activate
・終了
(**)$ deactivate
パッケージのインストール
(**)$pip install XXX
仮想環境の初期化(インストールしたパッケージを全て削除)
$venv —clear
仮想環境の削除
**ファイルを消すぐらい?
virtualenv
python 2系では多用されます。
しかし、python 3.3以降では標準となった「venv」は
もともとvirtualenvであるため、ほぼ差がない。
そのため、あまり使われていないかもしれない。
インストール方法
$pip install virtualenv
仮想環境の作成(**は仮想環境名)
$ virtualenv **
virtualenvの仮想環境有効化・終了
・有効化
$source **/bin/activate
・終了
(**)$ deactivate
パッケージのインストール
(**)$pip install XXX
conda
Anacondaに付属している仮想環境。
そのため、Anacondaインストール時に一緒にインストールされる。
Anacondaを使用している人なら
これを使うのが無難でしょう。
conda環境の作成(**は仮想環境名、python バージョン指定もできます。)
$conda create —name ** python=3.X
Condaの仮想環境有効化・終了
・有効化
$conda activate **
・終了
$conda deactivate
パッケージのインストール
$conda install XXX
Pythonバージョンの変更
$conda install python=3.X
まとめ
以上が仮想環境のまとめでした。
使いやすさ、シンプルさでは「venv」が一番でしょうか。
複製を考えるならpipenvでしょうか。
それぞれの仮想環境を使って
使い勝手や利点などをみてから決めてもいいと思います。