❯ ./mach build
Traceback (most recent call last):
File "/home/jschwender/Dev/servo/./mach", line 45, in <module>
main(sys.argv)
~~~~^^^^^^^^^^
File "/home/jschwender/Dev/servo/./mach", line 24, in main
mach = mach_bootstrap.bootstrap(topdir)
File "/home/jschwender/Dev/servo/python/mach_bootstrap.py", line 251, in bootstrap
mach.load_commands_from_file(os.path.join(topdir, path), module_name)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/jschwender/Dev/servo/python/mach/mach/main.py", line 260, in load_commands_from_file
spec.loader.exec_module(module)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^
File "<frozen importlib._bootstrap_external>", line 1022, in exec_module
File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
File "/home/jschwender/Dev/servo/python/servo/testing_commands.py", line 24, in <module>
import wpt.run
File "/home/jschwender/Dev/servo/python/wpt/run.py", line 27, in <module>
from wptrunner import wptrunner
File "/home/jschwender/Dev/servo/tests/wpt/tests/tools/wptrunner/wptrunner/wptrunner.py", line 11, in <module>
import wptserve
File "/home/jschwender/Dev/servo/tests/wpt/tests/tools/wptserve/wptserve/__init__.py", line 1, in <module>
from .server import WebTestHttpd, WebTestServer, Router # noqa: F401
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/jschwender/Dev/servo/tests/wpt/tests/tools/wptserve/wptserve/server.py", line 29, in <module>
from . import routes as default_routes
File "/home/jschwender/Dev/servo/tests/wpt/tests/tools/wptserve/wptserve/routes.py", line 1, in <module>
from . import handlers
File "/home/jschwender/Dev/servo/tests/wpt/tests/tools/wptserve/wptserve/handlers.py", line 13, in <module>
from .request import Authentication
File "/home/jschwender/Dev/servo/tests/wpt/tests/tools/wptserve/wptserve/request.py", line 4, in <module>
import cgi
ModuleNotFoundError: No module named 'cgi'
It seems mach doesn't use
uvto re-execute itself with the pinned python version from uv.