Run browser tests locally: Playwright 1.64.1 in .venv, scripts switch to it on their own

The browser tests and screenshot tools now work with plain python3 on a machine whose
system Python refuses pip installs: tools/use_venv.py re-runs them with the repo's .venv.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-23 16:50:15 -04:00
co-authored by Claude Opus 5.5
parent 3f971a94c2
commit cab9343b26
13 changed files with 64 additions and 9 deletions
+18
View File
@@ -0,0 +1,18 @@
"""Let browser scripts run with plain python3 by switching to the repo's .venv."""
import os, pathlib, sys
ROOT = pathlib.Path(__file__).resolve().parent.parent
def ensure_playwright():
try:
import playwright
return
except ImportError:
pass
venv = ROOT / '.venv'
py = venv / 'bin' / 'python'
if py.exists() and pathlib.Path(sys.prefix).resolve() != venv.resolve():
os.execv(str(py), [str(py), *sys.argv])
sys.exit('Playwright is not installed; see Develop in README.md (uv venv .venv, '
'then uv pip install --python .venv/bin/python -r requirements.txt, '
'then .venv/bin/python -m playwright install chromium).')