QAエンジニア|仮想環境ってなに?

QAエンジニア

Playwright や Appium を動かそうとすると、必ず出てくるのが「仮想環境」。
python -m venv .venv や .venv\Scripts\activate を打てと言われても、何をしていて、毎回必要なのか…最初は私もまったく分かりませんでした。

本記事は、その“モヤモヤ”を解消する初心者向けの内容です。
仮想環境=「プロジェクト専用のお弁当箱」という発想で、作り方・使い方・片づけ(deactivate)・VS Codeの設定までを、Windows+Python前提で解説します。
最後にコピペで動くチートシート付き。

この記事の結論

  • 仮想環境 .venv = そのプロジェクト専用の“ミニPython本体+専用ライブラリ置き場”(お弁当箱)
  • python -m venv .venv = お弁当箱を作る(各プロジェクト最初の一回だけ
  • .venv\Scripts\activate = このターミナルでお弁当箱を使う宣言ターミナルを開くたび
  • deactivate = 片づけ(必須ではない。同じターミナルを使い回すなら区切りでやると安全)
  • VS Code は .venv\Scripts\python.exe を選ぶとラク(新しいターミナルに自動で (venv) が付く)

まず「プロジェクト」ってなに?

質問1:プロジェクトってなに?

1つの目的のための“作業フォルダ” のことです。
例)ログインの自動テストを作る → C:\qa\playwright-test を作る

C:\qa\playwright-test
├─ .venv/               ← 後で作る“専用の箱”(仮想環境)
├─ tests/               ← テストコード
│   └─ test_login.py
├─ requirements.txt     ← 使う部品の“固定化リスト”(後述)
└─ README.md            ← メモ(任意)

「1フォルダ=1プロジェクト」 と考えると迷いにくいです。


Python本体と“専用ライブラリ置き場”の関係

質問2:Pythonと専用ライブラリ置き場ってどういうこと?専用のライブラリってなに?

  • Python本体 … python.exe と標準ライブラリ(osjson など)
  • ライブラリ … 後から入れる追加部品(playwrightappium-python-clientpytest など)

仮想環境 .venv の中に

  • そのプロジェクト専用の Python本体
  • 専用ライブラリの棚Lib\site-packages
    が作られます。

だから、Aプロジェクトは Playwright 1.46/Bは 1.45…みたいにバージョンが混ざらず共存できます。
“専用のライブラリ”=その .venv にだけ入っている部品という意味。


コマンドの意味を一言で(やっていること)

1) 作成(初回だけ)

python -m venv .venv

いま居るフォルダに .venv を作ります(お弁当箱を作る)。
フォルダ移動せずに作りたい時はフルパスでもOK:

python -m venv C:\qa\playwright-test\.venv

2) 有効化(ターミナルを開くたび)

  • cmd(コマンドプロンプト).venv\Scripts\activate
  • PowerShell.\.venv\Scripts\Activate.ps1 ※ ポリシーで止まるなら、まずは cmd を使うのが一番簡単。

行頭に (venv) が出れば成功
これで このターミナル内の python と pip が .venv の中身を指します。

3) 片づけ(任意)

deactivate

ターミナルを元の状態に戻します。閉じても同じ効果
同じターミナルを使い回すなら区切りでやると“うっかり”防止になります。


cd は必要?

  • 作るときpython -m venv .venv はその場所に作るので、cdしてからがラク(またはフルパス指定)。
  • 有効化:普通はプロジェクトにcdしてから activate。フルパス実行でもOK。
  • 作業中:一度 .venv を有効化していれば、python -m pip ... はどこから打ってもその .venv を使う
    ただし pytest などプロジェクト内のファイルを読むコマンドは、プロジェクトフォルダで実行するのが自然。

コピペOK:最短レシピ(“まず動かす”用)

:: 1) プロジェクトへ
cd C:\qa\playwright-test

:: 2) 初回だけ:お弁当箱を作る
python -m venv .venv

:: 3) 毎回:使う前に有効化(cmdの場合)
.venv\Scripts\activate
:: (venv) 表示が出るはず

:: 4) 必要部品を .venv にインストール
python -m pip install --upgrade pip
python -m pip install pytest playwright appium-python-client

:: 5) Playwrightの“ブラウザ実体”を入れる(別枠)
playwright install

:: 6) (テストがあれば)実行
pytest -q

:: 7) 片づけ(任意)
deactivate

確認ワザ

where python
python -c "import sys; print(sys.executable)"
python -m pip show playwright

→ ...\playwright-test\.venv\... が出ていれば .venv が効いています。


VS Code の設定

質問3:VS Codeでこの設定や選び方の手順は?

  1. VS Code で C:\qa\playwright-test を開く
  2. Python拡張(Microsoft製) を入れる
  3. Ctrl + Shift + P → Python: Select Interpreter →
    ...\playwright-test\.venv\Scripts\python.exe を選ぶ
    (出ないときは Enter interpreter path… から直指定)
  4. 新しくターミナルを開く → 行頭に (venv) が付くのが理想
    付かない場合は VS Code再起動 or ターミナルを作り直し
  5. 念のためチェックpython -c "import sys; print(sys.executable)" → ...\playwright-test\.venv\Scripts\python.exe ならOK

設定UIで 「Python › Terminal: Activate Environment」 がONか確認(通常ON)。


deactivate は必要?

質問4:deactivateしないといけないの?

  • 必須ではありません(ターミナルを閉じても同じ)
  • ただし 同じターミナルで別プロジェクト作業に移る時、前の (venv) のままうっかり実行しがち
    → 区切りで deactivate(またはターミナルを閉じる) と安全

「同じ環境を再現する」なら requirements.txt

目的:未来の自分や別PCで同じライブラリ構成をすぐ復元するため。

作る/更新する(.venv 有効化中)

python -m pip freeze > requirements.txt

別PCや後日復元(新しく .venv を作ってから)

python -m pip install -r requirements.txt
playwright install

例(イメージ)

pytest==8.3.2
playwright==1.46.1
appium-python-client==4.4.0

Playwright / Appium ならではの注意

  • Playwright
    • Pythonパッケージ(playwright)は .venv に入る
    • ブラウザ実体は playwright install で別領域に入る(仕様どおりでOK)
  • Appium
    • appium-python-client は Python側のクライアント(.venv管理)
    • Appium Server は 別ツール(Node.js製)。必要なら別途インストール
      → 「まずクライアントコードを動かすだけ」なら、ひとまず .venv 側の準備ができていればOK

よくある詰まりと回避

  • (venv) がつかない
    → ターミナル作り直し/VS Code再起動/インタープリタを .venv\Scripts\python.exe に再選択
  • PowerShellで Activate.ps1 が止まる
    → まずは cmd(コマンドプロンプト) を使う
  • 「インポートを解決できません」
    → 右下のPython表示をクリック → .venv\Scripts\python.exe を再選択
    ターミナルを作り直し((venv) を確認)
    .venv に入っているか python -m pip show playwright で確認
    なければ (venv) 状態で 再インストール
  • どのPythonを使ってるか不安
    → where python / python -c "import sys; print(sys.executable)"
  • 壊れた気がする
    → .venv フォルダごと削除 → python -m venv .venv → 有効化 →
    pip install -r requirements.txt(あれば)→ playwright install

1枚まとめ(チートシート)

:: 初回
cd C:\qa\playwright-test
python -m venv .venv

:: 毎回(新ターミナル)
cd C:\qa\playwright-test
.venv\Scripts\activate

:: インストールは全部 .venv へ
python -m pip install pytest playwright appium-python-client
playwright install

:: 確認
python -c "import sys; print(sys.executable)"

:: 片づけ(任意)
deactivate

私のQ&A

  • Q. プロジェクトって何?
    A. 目的ごとの作業フォルダ。 フォルダ単位で .venv を作ると管理がラク。
  • Q. Python本体と専用ライブラリ置き場?
    A. .venv の中に“ミニPython本体”と“そのプロジェクトだけのライブラリ棚”ができる。 混ざらないから壊れにくい。
  • Q. VS Code の具体的手順は?
    A. 「Python: Select Interpreter」で .venv\Scripts\python.exe を選ぶ → 新規ターミナルで (venv) が付く。
  • Q. deactivate は必須?
    A. 必須ではない。 ただし同じターミナルを使い回すなら区切りでやると安全

まとめ

「仮想環境」は、“プロジェクトごとにお弁当箱を分ける” だけの話。
この感覚さえつかめば、Playwright でも Appium でも、セットアップの不安が一気に減ります
まずはコピペで動かし、慣れてきたら requirements.txt で再現性まで整えていきましょう。

タイトルとURLをコピーしました