Skip to content

mach build (still) busted with system python3.13 #34547

@jschwe

Description

@jschwe
❯ ./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 uv to re-execute itself with the pinned python version from uv.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions