python / python/cpython

Configure-based build system doesn't have a documented way to disable modules like setup.py did

Open
#98,558 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

build type-feature
Dominant language
Python
Stars
77.2k
Forks
36k
Avg merge
1d 9h
Merged PRs (30d)
558

Description

Feature or enhancement

To provide the ability to disable modules in the configure-based build system like the now removed setup.py did.

Pitch

Until the removal of setup.py, it was possible to disable modules by editing DISABLED_MODULE_LIST.

https://github.com/python/cpython/blob/dcb342b5f9d931b030ca310bf3e175bbc54df5aa/setup.py#L60-L61

In the past I used this to disable _tkinter.

In the configure based system, this is still possible but relies on internal variable names. I can pass py_cv_module__tkinter=disabled to ./configure. It would be useful to have something that was documented rather than having to rely on internal variables like that.

Previous discussion

Not yet, but can do if desired.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the linked setup.py lines and the configure-based build flow around the documented ./configure invocation with py_cv_module__tkinter=disabled. Determine where a supported module-disabling interface should be documented and what existing behavior it must cover; done means users can disable modules without relying on internal variable names and the documentation reflects the supported process.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
build-system
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.