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
と標準ライブラリ(os
,json
など) - ライブラリ … 後から入れる追加部品(
playwright
,appium-python-client
,pytest
など)
仮想環境 .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でこの設定や選び方の手順は?
- VS Code で
C:\qa\playwright-test
を開く - Python拡張(Microsoft製) を入れる
Ctrl + Shift + P
→ Python: Select Interpreter →...\playwright-test\.venv\Scripts\python.exe
を選ぶ
(出ないときは Enter interpreter path… から直指定)- 新しくターミナルを開く → 行頭に
(venv)
が付くのが理想
付かない場合は VS Code再起動 or ターミナルを作り直し - 念のためチェック
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)
- Pythonパッケージ(
- 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
で再現性まで整えていきましょう。