※本記事のコードや情報は執筆時点の仕様に基づいています。投資は自己責任であり、必ずデモ環境や少額資金でテストした上で運用してください。
Pythonで株価分析や自動売買システムの開発を進めていくと、プロジェクトごとに異なるバージョンのライブラリが必要になる場面が必ず訪れます。たとえば、プロジェクトAではpandas 2.0系を使い、プロジェクトBではpandas 1.5系が必要、といったケースです。
こうしたライブラリの競合を防ぐために用意されている仕組みが仮想環境(Virtual Environment)です。Pythonには標準でvenvというモジュールが同梱されており、追加インストールなしで仮想環境を作成できます。
この記事では、venvの基本概念から、作成・有効化・ライブラリ管理・削除の全手順、そしてVS Codeとの連携方法まで、株アルゴリズム開発を想定した実践的な構成で解説します。
仮想環境とは何か?なぜ必要なのか
仮想環境の作成手順に入る前に、「なぜ仮想環境が必要なのか」を正しく理解しておく必要があります。
グローバル環境の問題点
Pythonをインストールした直後の状態では、すべてのライブラリがグローバル環境(システム全体で共有される領域)にインストールされます。
この状態で複数のプロジェクトを開発すると、以下の問題が発生します。
- プロジェクトAのために更新したライブラリが、プロジェクトBの動作を壊す
- 古いバージョンに戻したくても、他のプロジェクトに影響が出る
- どのプロジェクトがどのライブラリを使っているか把握できなくなる
仮想環境が解決すること
仮想環境は、プロジェクトごとに独立したPython実行環境を作る仕組みです。仮想環境内にインストールしたライブラリは、その環境の中だけで有効になります。
| 項目 | グローバル環境 | 仮想環境 |
|---|---|---|
| ライブラリの影響範囲 | PC全体 | プロジェクト内のみ |
| バージョン競合のリスク | 高い | なし |
| 環境の再現性 | 低い | requirements.txtで完全再現可能 |
| 削除の容易さ | 個別にアンインストールが必要 | フォルダごと削除するだけ |
| 推奨度 | 学習・テスト用途のみ | すべての開発プロジェクト |
プロジェクト単位で仮想環境を作成することは、Python開発における基本中の基本です。株価分析や自動売買のような本番運用を見据えた開発では、必ず仮想環境を使用してください。
venv・virtualenv・condaの違い
Pythonの仮想環境ツールは複数存在します。混乱しやすいため、違いを整理しておきます。
- venv: Python 3.3以降に標準同梱。追加インストール不要で最も手軽
- virtualenv: サードパーティ製。venvより高速で機能も豊富だが、別途インストールが必要
- conda: Anacondaに付属。Python以外のパッケージも管理できるが、pipとの混在に注意が必要
公式Pythonインストーラーを使用している場合はvenv一択です。この記事ではvenvのみを対象に解説します。
venvで仮想環境を作成する手順
ここからは、実際にvenvで仮想環境を作成する具体的な手順を解説します。
ステップ1:プロジェクトフォルダを作成する
まず、開発用のプロジェクトフォルダを作成します。ここでは株アルゴリズム開発を想定し、stock-algo というフォルダ名にします。
コマンドプロンプトを開き、以下のコマンドを順番に実行してください。
mkdir C:Users<ユーザー名>projectsstock-algo
cd C:Users<ユーザー名>projectsstock-algo
ステップ2:仮想環境を作成する
プロジェクトフォルダに移動した状態で、以下のコマンドを実行します。
python -m venv .venv
このコマンドにより、stock-algo フォルダ内に .venv というフォルダが作成されます。.venv の中には、独立したPython実行ファイルとpipが格納されています。
ステップ3:作成された仮想環境の構造を確認する
.venv フォルダの中身は以下のような構造になっています。
.venv/
├── Include/ # C拡張モジュール用ヘッダファイル
├── Lib/
│ └── site-packages/ # この環境専用のライブラリ格納先
├── Scripts/
│ ├── activate # 有効化スクリプト(bash用)
│ ├── activate.bat # 有効化スクリプト(コマンドプロンプト用)
│ ├── python.exe # この環境専用のPython実行ファイル
│ └── pip.exe # この環境専用のpip
└── pyvenv.cfg # 仮想環境の設定ファイル
フォルダ名を
.venvにするのは慣例です。先頭のドット(.)により、エクスプローラーやGitの一覧表示で目立たなくなるメリットがあります。
仮想環境の名前は変更できるか
python -m venv 任意の名前 とすれば、好きなフォルダ名で仮想環境を作成できます。ただし、以下の理由から.venv を使用することを推奨します。
- VS Codeが自動認識する標準的なフォルダ名である
.gitignoreテンプレートにデフォルトで含まれている- Python開発コミュニティ全体で広く使われている慣例である
仮想環境の有効化と無効化
仮想環境を作成しただけでは機能しません。有効化(activate)することで初めて、その環境内のPythonとpipが使用されるようになります。
Windowsコマンドプロンプトでの有効化
.venvScriptsactivate
有効化が成功すると、プロンプトの先頭に (.venv) という表示が追加されます。
(.venv) C:Users<ユーザー名>projectsstock-algo>
この (.venv) が表示されている間は、python コマンドも pip コマンドも仮想環境内のものが使用されます。
Windows PowerShellでの有効化
PowerShellを使用している場合は、以下のコマンドで有効化します。
.venvScriptsActivate.ps1
実行ポリシーのエラーが出る場合は、以下のコマンドでポリシーを変更してください。
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
仮想環境の無効化
作業を終えて仮想環境から抜ける場合は、以下のコマンドを実行します。
deactivate
プロンプトから (.venv) の表示が消え、グローバル環境に戻ります。
仮想環境の有効化を忘れたままpipでライブラリをインストールすると、グローバル環境にインストールされてしまいます。作業開始時にプロンプトの
(.venv)表示を必ず確認してください。
仮想環境にライブラリをインストールする
仮想環境を有効化した状態で、株価分析に必要なライブラリをインストールします。
個別インストール
pip install yfinance pandas matplotlib
仮想環境内のpipが使用されるため、インストールされたライブラリは .venvLibsite-packages に格納されます。グローバル環境には一切影響しません。
【コピペOK】株アルゴリズム開発用のrequirements.txt
以下の内容で requirements.txt をプロジェクトフォルダ直下に作成してください。
yfinance>=0.2.36
pandas>=2.0.0
numpy>=1.24.0
matplotlib>=3.7.0
requests>=2.31.0
ta>=0.11.0
| パッケージ | 用途 |
|---|---|
| yfinance | 株価データの取得 |
| pandas | データフレーム操作・分析 |
| numpy | 数値計算 |
| matplotlib | チャート描画 |
| requests | HTTP通信(API連携) |
| ta | テクニカル指標の算出(RSI、MACD等) |
一括インストールは以下のコマンドで実行します。
pip install -r requirements.txt
インストール済みパッケージの確認
pip list
仮想環境内にインストールされたパッケージのみが一覧表示されます。グローバル環境のパッケージは表示されません。
現在の環境をrequirements.txtに書き出す
依存パッケージを正確にバージョン固定して記録するには、以下のコマンドを使用します。
pip freeze > requirements.txt
pip freezeの出力はバージョンが==で厳密に固定されます。チーム開発や本番環境の再現にはpip freeze形式、初期セットアップ用途には>=で最小バージョンを指定する形式、と使い分けるのが効果的です。
【コピペOK】仮想環境の動作確認スクリプト
仮想環境が正しく構築され、ライブラリが正常に動作するかを確認するスクリプトです。verify_env.py として保存してください。
import sys
import importlib
# ==============================
# 仮想環境 動作確認スクリプト
# ==============================
REQUIRED_PACKAGES = [
"yfinance",
"pandas",
"numpy",
"matplotlib",
"requests",
"ta",
]
def check_environment():
print("=== 仮想環境チェック ===n")
# Python情報
print(f"Pythonバージョン : {sys.version}")
print(f"実行パス : {sys.executable}")
# 仮想環境の判定
in_venv = hasattr(sys, "real_prefix") or (
hasattr(sys, "base_prefix") and sys.base_prefix != sys.prefix
)
status = "有効" if in_venv else "無効(グローバル環境)"
print(f"仮想環境 : {status}n")
# パッケージ確認
print("=== パッケージ確認 ===n")
all_ok = True
for pkg in REQUIRED_PACKAGES:
try:
mod = importlib.import_module(pkg)
version = getattr(mod, "__version__", "バージョン不明")
print(f" ✔ {pkg:15s} : {version}")
except ImportError:
print(f" ✘ {pkg:15s} : 未インストール")
all_ok = False
print()
if all_ok:
print("=== すべてのパッケージが正常にインストールされています ===")
else:
print("=== 未インストールのパッケージがあります ===")
print(" pip install -r requirements.txt を実行してください")
if __name__ == "__main__":
check_environment()
仮想環境を有効化した状態で以下を実行します。
python verify_env.py
すべてのパッケージに ✔ が表示されれば、開発環境の構築は完了です。
VS Codeとの連携設定
VS Codeは .venv フォルダを自動検出する機能を備えていますが、明示的に設定しておくとより確実です。
インタープリタの選択
- VS Codeでプロジェクトフォルダを開く
Ctrl + Shift + Pでコマンドパレットを開く- 「Python: Select Interpreter」と入力して選択する
- 候補一覧に
.venv内のPythonが表示される ('.venv': venv) ..venvScriptspython.exeを選択する
ターミナルの自動有効化
VS Codeの統合ターミナルを開いた際に、仮想環境が自動的に有効化されるよう設定できます。.vscode/settings.json に以下を追加してください。
{
"python.defaultInterpreterPath": "${workspaceFolder}/.venv/Scripts/python.exe",
"python.terminal.activateEnvironment": true
}
この設定により、VS Code内でターミナルを開くたびに自動で .venv が有効化されます。
VS Codeのターミナルで
(.venv)表示が確認できれば、連携は正常に機能しています。
仮想環境の削除と再作成
仮想環境が不要になった場合や、環境が壊れた場合の対処法を解説します。
仮想環境の削除
仮想環境は単なるフォルダです。削除する場合は、まず仮想環境を無効化した上で、フォルダごと削除するだけで完了します。
deactivate
rmdir /s /q .venv
アンインストールコマンドの実行やレジストリの操作は一切不要です。
環境の再作成
削除後に再作成する場合は、以下の2つのコマンドを順番に実行するだけです。
python -m venv .venv
.venvScriptsactivate
pip install -r requirements.txt
requirements.txt を保持していれば、まったく同じ環境を何度でも再現できます。これが仮想環境を使う最大のメリットです。
.gitignoreへの登録
仮想環境フォルダをGitリポジトリにコミットしてはいけません。.venv 内のファイルは数百MBに達することがあり、リポジトリが肥大化する原因になります。
プロジェクトフォルダ直下に .gitignore を作成し、以下の内容を記載してください。
.venv/
__pycache__/
*.pyc
Gitで管理すべきは
requirements.txtです。仮想環境そのものではなく、「環境を再現するためのレシピ」を共有するのが正しい運用方法です。
よくあるエラーと対処法
「No module named venv」と表示される
Linuxの一部ディストリビューション(Ubuntu等)では、venvが別パッケージになっている場合があります。WSL(Windows Subsystem for Linux)を使用している場合に発生することがあります。
以下のコマンドでインストールしてください。
sudo apt install python3-venv
Windows環境で公式インストーラーからPythonを導入している場合、このエラーは通常発生しません。
仮想環境内でpipが古いと警告される
仮想環境を新規作成した直後は、pipのバージョンが古い場合があります。有効化直後に以下のコマンドを実行する習慣をつけてください。
python -m pip install --upgrade pip
仮想環境のPythonバージョンを変更したい
venvで作成した仮想環境のPythonバージョンは、作成時に使用した python コマンドのバージョンに固定されます。バージョンを変更したい場合は、仮想環境を削除して再作成する必要があります。
複数バージョンのPythonがインストールされている場合は、Pythonランチャーで明示的に指定して作成します。
py -3.12 -m venv .venv
まとめ
venvによる仮想環境の構築手順は、以下のとおりです。
python -m venv .venvで仮想環境を作成する.venvScriptsactivateで有効化し、プロンプトに(.venv)が表示されることを確認するpip install -r requirements.txtで必要なライブラリを一括インストールする- VS Codeでインタープリタを
.venv内のPythonに設定する - 不要になったら
.venvフォルダを削除するだけで完了する
覚えておくべきポイントは以下の3つです。
- 仮想環境の実体はただのフォルダであり、削除も再作成も容易である
requirements.txtを保持していれば同一環境を何度でも再現できる.venvフォルダは.gitignoreに登録し、Gitにはコミットしない
仮想環境の運用は、株アルゴリズム開発だけでなく、すべてのPythonプロジェクトにおける必須スキルです。この手順を確実にマスターし、次のステップであるyfinanceを使った株価データ取得やテクニカル分析の実装に進んでください。

