目次
概要
Windows 11で pyenv-win、pipenv を用いて、Pythonのバージョンを指定した仮想環境を構築する手順を、実際のコマンドと共にまとめました。
本記事は、全4話のシリーズの2つ目です。(以降ではpyenv-winのことを「pyenv」と記載します)
- pyenv+pip+venv
- pyenv+pipenv
- pyenv+poetry
- uv
目標は、指定したバージョンのPythonとライブラリ(numpy、pandas)が動く仮想環境を構築することです。複雑な設定は行いません。
異なるバージョンで動かした結果を比較したり、複数人の開発で環境を揃える必要があるときに役立ちます。
初回のみ必要な準備を済ませてから、以下の①~⑥の流れで検証します。
① 仮想環境作成
② ライブラリインストール
③ サンプルプログラム実行
④ 構成ファイル出力
⑤ 仮想環境削除
⑥ 構成ファイルから仮想環境再作成
pyenv+pipenv を用いる方法の特徴として、以下が挙げられます。
用途や制約に応じて、適宜使い分けましょう。
長所:簡単に使える
短所:動作が重い
動作確認環境
- Windows 11
- Anaconda不使用
- PowerShellでコマンド実行
- 使用したバージョンは以下の通り
| ライブラリ | PC本体にインストール したバージョン | 仮想環境にインストール するバージョン |
|---|---|---|
| Python | 3.12.6 | 3.13.13 (指定) |
| pip | 24.2 | 26.0.1 (自動) |
| numpy | 2.2.6 (不使用) | 2.4.4 (指定) |
| pandas | 2.2.3 (不使用) | 3.0.2 (指定) |
| pyenv-win | 3.1.1 | (不要) |
| pipenv | 2026.6.1 | (不要) |
検証のため、PC本体に既にインストールされている物とは異なるバージョンを指定しました。
pandasはインストールすると、間接的に依存するライブラリ(numpy、python-dateutil、six、tzdata)も自動的にインストールされます。
- C:\PythonTest をカレントフォルダに設定
- カレントフォルダに以下のサンプルプログラム(version_test.py)を格納
現在有効になっているPythonとライブラリのバージョンを表示するプログラムを、検証に用いました。
import sys
import pip
import numpy as np
import pandas as pd
import dateutil
import six
import tzdata
libraries = [
(pip, "pip"),
(np, "numpy"),
(pd, "pandas"),
(dateutil, "python-dateutil"),
(six, "six"),
(tzdata, "tzdata")
]
print(f"\nPython version: {sys.version}")
print("\nLibrary version:")
for lib, name in libraries:
version = getattr(lib, "__version__", "N/A")
print(f"{name:15} : {version}")pyenv準備
シリーズ第1話と同じです。こちらをご参照ください:
pipenv準備
pipenvをインストール
pipenvをインストールする先は、仮想環境で使用するPythonバージョンとは異なっていても構いません。
pip install pipenvインストールされたことを確認
pipenv --version(参考)pipenvをアンインストールする手順
pyenvからpipenvをアンインストール
インストールしたPythonのバージョンごとに実施します。
pip uninstall pipenvpipenvの隠しフォルダを削除
C:\Users\[username]\AppData\Local\pipenv が存在していれば削除します。
仮想環境構築
仮想環境を構築するプロジェクト毎に実施します。
仮想環境作成
pipenvがインストールされたPythonバージョンに切り替えpyenv shell は、PowerShellを閉じるまで、そのバージョンが有効になります。有効にするバージョンが既にpyenvのグローバル or ローカルバージョンになっていれば、切り替える操作は不要です。
今回は Python 3.14.5 にpipenvをインストールした場合を想定します。
pyenv shell 3.14.5仮想環境を新規作成
仮想環境に使用するPythonバージョンを引数に与えます。ただし、指定したPythonバージョンがpyenvにインストールされていないと、エラーになります。
カレントフォルダに「Pipfile」ファイルが作成されます。
pipenv --python 3.13.13仮想環境をカレントフォルダ内に作る設定
初期状態では C:\Users\[username]\.virtualenvs の中に仮想環境フォルダが作られます。
以下のコマンドを実行すると、カレントフォルダ(今回は C:\PythonTest)の中に作成させることができます。PowerShellを再起動するまで設定が有効です。
$env:PIPENV_VENV_IN_PROJECT = 1仮想環境を有効化
カレントフォルダに「.venv」フォルダが作成され、コマンドの先頭が (.venv) に変わります。
pipenv shell仮想環境のPythonバージョンを確認
python -V仮想環境のライブラリ一覧を確認
この時点では、pipだけが入った状態です。
pip list
ライブラリインストール
指定したバージョンのライブラリをインストール
C:\PythonTest\.venv\Lib\site-packages にライブラリ名のフォルダが増えます。
間接的に依存するライブラリも自動でインストールされます。
また、カレントディレクトリに「Pipfile.lock」が作成され、ライブラリをインストールするたびに「Pipfile」と「Pipfile.lock」の内容が上書き更新されます。
pipenv install numpy==2.4.4
pipenv install pandas==3.0.2ライブラリ一覧を確認
pip list
ライブラリの依存関係を図示
pipenv graph
(参考)ライブラリをアンインストール
ただし、関連ライブラリは自動で削除されません。
pipenv uninstall pandasサンプルプログラム実行
カレントフォルダのサンプルプログラム(version_test.py)を実行
python version_test.py
構成ファイル出力
前節で生成された Pipfile.lock が、構成ファイルとなります。
Pipfile.lock:

仮想環境削除
仮想環境を終了
コマンドの先頭がカレントフォルダの表示に戻ります。
exit仮想環境を削除
カレントフォルダの「.venv」フォルダが跡形なく削除されます。
pipenv --rm構成ファイルから仮想環境再作成
仮想環境再作成するフォルダには「Pipfile.lock」を配置しておきます。

pipenvがインストールされたPythonバージョンに切り替え
今回は Python 3.14.5 にpipenvをインストールした場合を想定しています。
pyenv shell 3.14.5カレントフォルダ移動
cd C:\PythonTest仮想環境をカレントフォルダ内に作る設定
前述の通り、PowerShellを再起動していたら再設定が必要です。
$env:PIPENV_VENV_IN_PROJECT = 1構成ファイルから仮想環境を再作成
カレントフォルダに「.venv」フォルダが作成されます。
現在有効になっているPythonバージョンが仮想環境で使用するバージョンと異なっていても、正しく動きます。
カレントフォルダに「Pipfile」ファイルも存在する場合、「Pipfile.lock」が優先されて「Pipfile」は無視されます。
pipenv sync仮想環境を有効化
コマンドの先頭が (.venv) に変わります。
pipenv shellカレントフォルダのサンプルプログラム(version_test.py)を実行
python version_test.py

