Python 3.15.0 on Ubuntu is missing the C _decimal module · Issue #1376 · actions/setup-python · GitHub
Skip to content

Python 3.15.0 on Ubuntu is missing the C _decimal module #1376

Open

Description

@austinmatherne-wk

Description:

The Ubuntu builds of Python 3.15.0 don't include the C _decimal extension module. import _decimal fails, and decimal silently falls back to the pure Python. That fallback is much slower and can't handle numbers with more than 4300 digits. Python 3.14.8 on the same runners has _decimal.

The cause looks like the Ubuntu builder in actions/python-versions. ubuntu-python-builder.psm1 doesn't install libmpdec-dev. Up to 3.14, CPython's configure fell back to its bundled copy of libmpdec. In 3.15 it skips _decimal instead when it can't find the system library. Adding libmpdec-dev to the builder's package list and rebuilding 3.15.0 should fix it.

https://docs.python.org/3/whatsnew/3.15.html#build-changes

Removed implicit fallback to the bundled copy of the libmpdec library. Now this should be explicitly enabled with --with-system-libmpdec set to no or with --without-system-libmpdec. (Contributed by Sergey B Kirpichev in gh-115119.)

Action version:
actions/setup-python@v7.0.0

Platform:

  • Ubuntu
  • macOS
  • Windows

Runner type:

  • Hosted
  • Self-hosted

Tools version:
3.15.0

Repro steps:

runs-on: ubuntu-24.04
steps:
  - uses: actions/setup-python@v7.0.0
    with:
      python-version: '3.15.0'
  - run: python -c "import _decimal"

Expected behavior:
import _decimal succeeds, as it does on Python 3.14 and on the Windows build of 3.15.0.

Actual behavior:
ModuleNotFoundError: Standard library module _decimal was not found. Code that uses decimal runs on _pydecimal, and values over 4300 digits raise ValueError: Exceeds the limit (4300 digits) for integer string conversion.

Activity

  1. v-priya-kinthali commented on Oct 21, 2026

    @v-priya-kinthali
    Contributor

    Hello @austinmatherne-wk👋,
    Thank you for reporting this issue. We will investigate it and get back to you as soon as we have some feedback.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions