はじめに
Windows環境でPythonのバージョン管理と仮想環境を構築する方法を整理します。
- 使用するツールは以下の2つです:
- pyenv-win:複数のPythonバージョンを管理
- venv:プロジェクトごとの仮想環境を分離
この記事では「pyenvでPythonを導入 → venvで仮想環境を作成 → .gitignoreで除外」までを紹介します。
1. pyenv-winのインストール
まずはPowerShellを管理者権限で実行します。
# 1行ずつ実行
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope LocalMachine
# GitHubからClone
Invoke-WebRequest -UseBasicParsing -Uri "https://raw.githubusercontent.com/pyenv-win/pyenv-win/master/pyenv-win/install-pyenv-win.ps1" -OutFile "./install-pyenv-win.ps1" & "./install-pyenv-win.ps1"
PowerShellを再起動して確認
pyenv --version
2. Pythonのバージョンをインストール(pyenv)
インストール可能なバージョンを確認
pyenv install --list
必要なバージョンをインストール
pyenv install 3.xx.xx
グローバル設定(全体で使用必要があれば設定する)
pyenv global 3.xx.xx
3. ディレクトリ単位で仮想環境を作成(venv)
ここからは、VScodeなどのエディタのターミナルで実行してもOK
# プロジェクトディレクトリへ移動
cd C:\Users\<ユーザー名>\projects\<プロジェクト名>
# 仮想環境を作成
python -m venv venv名(仮想環境の名称)
仮想環境の有効化
# 正式に書く場合
.\venv名\Scripts\Activate.ps1
PowerShellは .ps1 を自動的に解釈してくれるので省略可能
.\venv名\Scripts\ActivateでもOK
ツールを最新化(必要であれば)
python -m pip install --upgrade pip setuptools wheel
終了するとき
deactivate
4. .gitignoreに仮想環境を登録
ディレクトリをGitHubで管理している場合は、仮想環境をGitHubにアップしないようにします。
.gitignore に追加する
# Distribution / packaging
・・・
# Virtual environments
venv名/
.gitignore に追加されたことを確認
git status
venv名/が出力されなければOK
5. Jupyter notebookで使う場合
エディタ右上の「Kernel(カーネル)」選択メニューで「Python (venv名)」 を選べばOK
ターミナルから起動する場合
仮想環境をアクティブにする
.\venv31210\Scripts\Activate.ps1
Jupyterとipykernelをインストール(インストールが必要な場合)
pip install jupyter ipykernel
カーネルを登録
python -m ipykernel install --user --name=venv名 --display-name "Python (venv名)"
Notebookを起動
jupyter notebook
Notebook右上の「Kernel」から「Python (venv名)」からを選択
6. ライブラリのインストール
仮想環境には、ライブラリはほぼ入っていない白紙の状態。
必要なライブラリをインストールする
# 基本的なライブラリのインストール
pip install numpy pandas matplotlib scikit-learn
# インストールされているライブラリのリストを確認
pip list
または
python -m piplist
7. 仮想環境を削除する(venv)
エクスプローラから削除する場合
「venv名」のフォルダを右クリックで「削除」でOK
PowerShellで削除する場合
# プロジェクトディレクトリへ移動
cd C:\Users\<ユーザー名>\projects\<プロジェクト名>
# 仮想環境を削除
Remove-Item -Recurse -Force venv名
削除して新しく再構成する場合
仮想環境を削除する前にライブラリを保存しておくことで、別のフォルダ、別のPC、別の仮想環境で、同じ構成を作ることが可能
仮想環境を有効化してから現在の環境を保存
# 仮想環境をアクティブ
.\venv名\Scripts\Activate
# 現在インストールされているライブラリを一覧に書き出す
pip freeze > requirements.txt
新しい環境で同じ構成を作成
# 仮想環境を作成・アクティブ
python -m venv venv名
.\venv名\Scripts\Activate
# requirements.txt に書かれたライブラリを一括インストール
pip install -r requirements.txt