diff --git a/test/lib/helper.py b/test/lib/helper.py
index 26469ed5d..27586c2b0 100644
--- a/test/lib/helper.py
+++ b/test/lib/helper.py
@@ -10,6 +10,8 @@
 import logging
 import os
 import os.path as osp
+import subprocess
+import sys
 import tempfile
 import textwrap
 import time
@@ -411,6 +413,13 @@ def __init__(self, env_dir, *, with_pip):
             self._env_dir = env_dir
             venv.create(self.env_dir, symlinks=True, with_pip=with_pip)
 
+        if with_pip:
+            # The upgrade_deps parameter to venv.create is 3.9+ only, so do it this way.
+            command = [self.python, "-m", "pip", "install", "--upgrade", "pip"]
+            if sys.version_info < (3, 12):
+                command.append("setuptools")
+            subprocess.check_output(command)
+
     @property
     def env_dir(self):
         """The top-level directory of the environment."""