[docs] [issue33932] Calling Py_Initialize() twice now triggers a fatal error (Python 3.7)

Nick Coghlan report at bugs.python.org
Sat Jun 30 03:17:14 EDT 2018

Nick Coghlan <ncoghlan at gmail.com> added the comment:

Answering Eric's question about the flag variables though:

* pymain_get_global_config copies the global variable flags to their respective struct entries
* pymain_set_global_config copies the various struct entries to their respective global variable flags

One of the first things that Py_Main() does in 3.7 is to:

- read the global variable flags into the relevant structs
- update the structs based on the CLI options
- write the struct values back to the global flags

This mostly fakes the 3.6-and-earlier behaviour of using the global variables directly.

For anything listed in https://docs.python.org/3/c-api/init.html#global-configuration-variables, we also mostly left any code reading the global variable directly alone, since they're considered a public API for embedding applications to dynamically adjust behaviour and we don't have a good way of deprecating using them for that purpose :(


Python tracker <report at bugs.python.org>

More information about the docs mailing list