Skip to content

pdm cannot be installed with python 3.14.0a6 - upstream issue with httpcore #3443

@klmcwhirter

Description

@klmcwhirter

Describe the bug

While installing pdm with python 314.0a6 the following error is produced while executing pdm --help at the end:

Traceback (most recent call last):
  File "<python-input-0>", line 1, in <module>
    import httpcore
  File "/Users/rkm/temp/venv3.14/lib/python3.14/site-packages/httpcore/__init__.py", line 140, in <module>
    setattr(__locals[__name], "__module__", "httpcore")  # noqa
    ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'typing.Union' object has no attribute '__module__' and no __dict__ for setting new attributes. Did you mean: '__reduce__'?

This is due to a known issue in httpcore and is being discussed in their repo at:
encode/httpcore#995

Heads up

To reproduce

python --version produces Python 3.14.0a6+

python install-pdm.py produces the error above.

Expected Behavior

Installation should succeed with Python 3.14.

Environment Information

PDM version:
  2.23.0
Python Interpreter:
  /var/home/klmcw/src/github.com/klmcwhirter/python-projects/oci-explorer/.venv/bin/python (3.14)
Project Root:
  /var/home/klmcw/src/github.com/klmcwhirter/python-projects/oci-explorer
Local Packages:
{
  "implementation_name": "cpython",
  "implementation_version": "3.14.0a6",
  "os_name": "posix",
  "platform_machine": "x86_64",
  "platform_release": "6.13.5-200.fc41.x86_64",
  "platform_system": "Linux",
  "platform_version": "#1 SMP PREEMPT_DYNAMIC Thu Feb 27 15:07:31 UTC 2025",
  "python_full_version": "3.14.0",
  "platform_python_implementation": "CPython",
  "python_version": "3.14",
  "sys_platform": "linux"
}

Verbose Command Output

N/A

Additional Context

To work around this I applied the patch locally mentioned at the top of encode/httpcore#995.

The pdm install succeeded.

Are you willing to submit a PR to fix this bug?

  • Yes, I would like to submit a PR.

Metadata

Metadata

Assignees

No one assigned

    Labels

    ⬆️ upstream bugCaused by a bug from the upstream dependencies

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions