【Python】仮想環境 ~ virtualenv / venv / pipenv ~

■ はじめに

https://docs.python.org/ja/3/tutorial/venv.html#managing-packages-with-pip

で「12章 仮想環境とパッケージ」の
仮想環境があいまいだったので、まとめる

資格「Python 3 エンジニア認定基礎試験」の出題範囲にもなっている。

■ 導入

PythonアプリAがモジュールX(ver1.0) を必要とし、
PythonアプリBがモジュールX(ver2.0。I/Fがver1.0と異なる) を必要とした場合
通常、同じ環境内に入れられない。
 => この問題に関する解決策として、「仮想環境」がある

■ 仮想環境

# venv : 仮想環境の作成と管理を行うためのモジュール
python3 -m venv [仮想環境ディレクトリ]

■ 仮想環境の作成方法

【1】 pyenv
【2】 virtualenv
【3】 venv
【4】 pipenv

【1】 pyenv

* 以下の関連記事を参照のこと

仮想環境 ~ pyenv ~
https://dk521123.hatenablog.com/entry/2022/02/13/000000

【2】 virtualenv

* 標準ではないのでpipインストール必要

# 仮想環境作成
virtualenv --no-site-packages democlient

有効化 / 無効化

* 仮想環境を有効化 / 無効化する必要があるので、その方法を記す。

【有効化】
# Windows
demo-env\Scripts\activate.bat

# Linux
source demo-env/bin/activate

【無効化】
# 仮想環境終了(通常状態に復帰)
deactivate

【3】 venv

* virtualenv が Python 3.3 から標準機能として取り込まれたもの

python3 -m venv <仮想環境名>
python3 -m venv demo-env

【4】 pipenv

* プロジェクト毎のパッケージ管理や仮想環境の構築を簡単に自動で行ってくれる
* pipenv = virtualenv + pip

関連記事

仮想環境 ~ pyenv ~
https://dk521123.hatenablog.com/entry/2022/02/13/000000
パッケージ管理 ~ Poetry ~
https://dk521123.hatenablog.com/entry/2021/11/09/155903
CodeBuild で Python のバージョンを切り替える
https://dk521123.hatenablog.com/entry/2020/02/19/230909
パッケージ管理 ~ pip / wheel, egg ~
https://dk521123.hatenablog.com/entry/2019/11/09/001342
パッケージ管理 ~ conda ~
https://dk521123.hatenablog.com/entry/2022/02/11/000000
オフライン環境下で pip install するには
https://dk521123.hatenablog.com/entry/2021/07/10/164833
eggファイルを作成するには...
https://dk521123.hatenablog.com/entry/2020/02/09/234350
Python に関する資格
https://dk521123.hatenablog.com/entry/2019/12/17/225829
pip install wheelファイル で Read time out が発生する
https://dk521123.hatenablog.com/entry/2021/07/08/161406