venv とは?
venv とは python3.3 から使えるようになったモジュールで、python の開発にはバージョン毎に必要なモジュールやパッケージが異なっているため、それぞれのバージョンの環境毎にモジュールの管理をしやすくするためのもの。要は python 専用の仮装環境が作成できるツールだ。
venv の使い方
仮想環境の作成
python3 -m venv <ディレクトリ名>
-m はモジュール
実行例
Unco@HelloMyWorld Projects % python3 -m venv testenv
Unco@HelloMyWorld Projects % ls
testenv
Unco@HelloMyWorld Projects % tree -L 2 testenv
testenv
├── bin
│ ├── Activate.ps1
│ ├── activate
│ ├── activate.csh
│ ├── activate.fish
│ ├── pip
│ ├── pip3
│ ├── pip3.9
│ ├── python -> python3.9
│ ├── python3 -> python3.9
│ └── python3.9 -> /opt/homebrew/opt/python@3.9/bin/python3.9
├── include
├── lib
│ └── python3.9
└── pyvenv.cfg
4 directories, 11 files
仮想環境の出入り(有効・無効化)
作成した仮想環境に入るコマンド:
source <ディレクトリ名>/bin/activate
仮想環境から出るコマンド:
deactivate
仮装環境内と外では、パスやバージョンが異なっていることがわかる
実行例
Unco@HelloMyWorld Projects % source testenv/bin/activate
(testenv) Unco@HelloMyWorld Projects %
(testenv) Unco@HelloMyWorld Projects %
(testenv) Unco@HelloMyWorld Projects % which python
/Users/Unco/Projects/testenv/bin/python
(testenv) Unco@HelloMyWorld Projects % python -V
Python 3.9.10
(testenv) Unco@HelloMyWorld Projects % deactivate
Unco@HelloMyWorld Projects % which python
/usr/bin/python
Unco@HelloMyWorld Projects % python -V
Python 2.7.18
-
1. Command line and environment — Python 3.13.0 documentation
docs.python.org
-
【Python入門】venvで仮想環境を作る方法をわかりやすく解説 | 侍エンジニアブログ
www.sejuku.net
-
Managing Multiple Python Versions With pyenv – Real Python
realpython.com