[Import-SIG] PEP 489: Redesigning extension module loading

Stefan Behnel stefan_ml at behnel.de
Sun Apr 26 10:31:58 CEST 2015

Petr Viktorin schrieb am 17.04.2015 um 12:33:
> On 04/17/2015 08:51 AM, Stefan Behnel wrote:
>> Petr Viktorin schrieb am 16.04.2015 um 13:05:
>>> A wart I added is "singleton modules", necessary for
>>> "PyState_FindModule"-like functionality. I wouldn't mind not including
>>> this, but it would mean the new API can't replace all use cases of the
>>> old PyInit_.
>>> Singleton Modules
>>> -----------------
>>> Modules defined by PyModuleDef may be registered with PyState_AddModule,
>>> and later retrieved with PyState_FindModule.
>>> Under the new API, there is no one-to-one mapping between PyModuleSpec
>>> and the module created from it.
>>> In particular, multiple modules may be loaded from the same description.
>> Is that because a single shared library (which is what the module spec
>> refers to, right?) can contain multiple modules? Or are you referring to
>> something else here?
> By using Loader.create_module/Loader.exec_module directly, you can load an
> extension module without adding it to sys.modules. You can do this as many
> times as you like, and you always get a new, independent module object.

Should we even allow that for extension modules, as long as there is no
reloading support?

I guess subinterpreters would also have a say in this, right?


More information about the Import-SIG mailing list