Open
Description
Prior discussion:
I opened PR #1337 since I was puzzled that we tell people how to configure and build CPython before we tell them how to install third party dependencies for extension modules like tkinter
, sqlite3
, and curses
; in my mind, we should tell people how to install dependencies before we tell them how to configure and build CPython. I asked about this on Discord, and based on the responses, I created PR #1337. However, reordering these sections is controversial, so we need more discussion.
Arguments for keeping the current layout:
- historically, most extension modules were considered optional; for most uses this is also the case, so a simple process (configure, build) is better than a complex process (install deps, configure, build)
Arguments for reordering the layout:
- from time to time, we topics are opened on Discord and bug-reports are opened on the CPython repo where people complain that their CPython build "failed" because dependencies for some extension modules were not found; often, the answer to these reports is to point them to Install dependencies in the Devguide
- many people do not view the extension modules of the stdlib as optional; they expect the stdlib to be "complete" when they build CPython locally
- more advanced developers/users may expect a layout where dependencies are installed before one configure and build CPython