【python】仮想環境のまとめ【コードも紹介】

Python

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でしょうか。

それぞれの仮想環境を使って
使い勝手や利点などをみてから決めてもいいと思います。

タイトルとURLをコピーしました