Skip to content

xmlrpc fails when importing expat, breaks pip (3.13.3 and 3.12.10 at least, Windows 11) #134011

@AwesomeCronk

Description

@AwesomeCronk

Bug report

Bug description:

I have been unable to install any packages using pip with Python 3.13.3:

>pip install openpyxl
Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "C:\Users\CCronk\AppData\Local\Programs\Python\Python313\Scripts\pip.exe\__main__.py", line 7, in <module>
    sys.exit(main())
             ~~~~^^
  File "C:\Users\CCronk\AppData\Local\Programs\Python\Python313\Lib\site-packages\pip\_internal\cli\main.py", line 78, in main
    command = create_command(cmd_name, isolated=("--isolated" in cmd_args))
  File "C:\Users\CCronk\AppData\Local\Programs\Python\Python313\Lib\site-packages\pip\_internal\commands\__init__.py", line 114, in create_command
    module = importlib.import_module(module_path)
  File "C:\Users\CCronk\AppData\Local\Programs\Python\Python313\Lib\importlib\__init__.py", line 88, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen importlib._bootstrap>", line 1387, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 935, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 1026, in exec_module
  File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
  File "C:\Users\CCronk\AppData\Local\Programs\Python\Python313\Lib\site-packages\pip\_internal\commands\install.py", line 19, in <module>
    import pip._internal.self_outdated_check  # noqa: F401
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\CCronk\AppData\Local\Programs\Python\Python313\Lib\site-packages\pip\_internal\self_outdated_check.py", line 19, in <module>
    from pip._internal.index.package_finder import PackageFinder
  File "C:\Users\CCronk\AppData\Local\Programs\Python\Python313\Lib\site-packages\pip\_internal\index\package_finder.py", line 31, in <module>
    from pip._internal.req import InstallRequirement
  File "C:\Users\CCronk\AppData\Local\Programs\Python\Python313\Lib\site-packages\pip\_internal\req\__init__.py", line 9, in <module>
    from .req_install import InstallRequirement
  File "C:\Users\CCronk\AppData\Local\Programs\Python\Python313\Lib\site-packages\pip\_internal\req\req_install.py", line 40, in <module>
    from pip._internal.operations.install.wheel import install_wheel
  File "C:\Users\CCronk\AppData\Local\Programs\Python\Python313\Lib\site-packages\pip\_internal\operations\install\wheel.py", line 40, in <module>
    from pip._vendor.distlib.scripts import ScriptMaker
  File "C:\Users\CCronk\AppData\Local\Programs\Python\Python313\Lib\site-packages\pip\_vendor\distlib\scripts.py", line 16, in <module>
    from .compat import sysconfig, detect_encoding, ZipFile
  File "C:\Users\CCronk\AppData\Local\Programs\Python\Python313\Lib\site-packages\pip\_vendor\distlib\compat.py", line 81, in <module>
    import xmlrpc.client as xmlrpclib
  File "C:\Users\CCronk\AppData\Local\Programs\Python\Python313\Lib\xmlrpc\client.py", line 138, in <module>
    from xml.parsers import expat
ModuleNotFoundError: No module named 'xml.parsers'; 'xml' is not a package

Noticing that the last entry in the traceback is from xmlrpc, I started a REPL and tried to import xmlrpc.client myself:

>>> from xmlrpc import client
Traceback (most recent call last):
  File "<python-input-0>", line 1, in <module>
    from xmlrpc import client
  File "C:\Users\CCronk\AppData\Local\Programs\Python\Python313\Lib\xmlrpc\client.py", line 138, in <module>
    from xml.parsers import expat
ModuleNotFoundError: No module named 'xml.parsers'; 'xml' is not a package
>>> import xmlrpc
>>> from xmlrpc import client
Traceback (most recent call last):
  File "<python-input-2>", line 1, in <module>
    from xmlrpc import client
  File "C:\Users\CCronk\AppData\Local\Programs\Python\Python313\Lib\xmlrpc\client.py", line 138, in <module>
    from xml.parsers import expat
ModuleNotFoundError: No module named 'xml.parsers'; 'xml' is not a package
>>> import xmlrpc.client
Traceback (most recent call last):
  File "<python-input-3>", line 1, in <module>
    import xmlrpc.client
  File "C:\Users\CCronk\AppData\Local\Programs\Python\Python313\Lib\xmlrpc\client.py", line 138, in <module>
    from xml.parsers import expat
ModuleNotFoundError: No module named 'xml.parsers'; 'xml' is not a package

I then tried importing xml.parsers.expat.

>>> import xml
>>> import xml.parsers
Traceback (most recent call last):
  File "<python-input-5>", line 1, in <module>
    import xml.parsers
ModuleNotFoundError: No module named 'xml.parsers'; 'xml' is not a package
>>> from xml import parsers
Traceback (most recent call last):
  File "<python-input-6>", line 1, in <module>
    from xml import parsers
ImportError: cannot import name 'parsers' from 'xml' (C:\Users\CCronk\OneDrive - Control Services Inc\Documents\Python\Lib\xml.py)
>>>

Python 3.13.3 (tags/v3.13.3:6280bb5, Apr 8 2025, 14:47:33) [MSC v.1943 64 bit (AMD64)] on win32 installed from python.org, Windows 11 Business Version 10.0.22631 Build 22631.

CPython versions tested on:

3.13

Operating systems tested on:

Windows

Metadata

Metadata

Assignees

No one assigned

    Labels

    pendingThe issue will be closed if no feedback is providedstdlibStandard Library Python modules in the Lib/ directorytype-bugAn unexpected behavior, bug, or error

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions