[Python-Dev] New Python Initialization API (original) (raw)

Victor Stinner vstinner at redhat.com
Sat Apr 6 09:37:28 EDT 2019


Maybe I should clarify in the PEP 587 Rationale what are the use cases for the API. Embeding Python is one kind of use case, but writing your own Python with a specific config like "isolated Python" or "system Python" is also a valid use case. For a custom Python, you might want to get C locale coercion and UTF-8 Mode.

The most common case is to embed Python in an application like Blender or vim: the application already executes a lot of code and manipulated strings and encoding before Python is initialized, so Python must not coerce the C locale in that case. That's why Nick and me decided to disable C loclae coercion and UTF-8 Mode by default when the C API is used.

Victor

Le samedi 6 avril 2019, Inada Naoki <songofacandy at gmail.com> a écrit : > On Sat, Apr 6, 2019 at 1:13 AM Victor Stinner <vstinner at redhat.com> wrote: >>>> > > PyPreConfig fields: >> > > >> > > * coerceclocalewarn: if non-zero, emit a warning if the C locale >> > > is coerced. >> > > * coerceclocale: if equals to 2, coerce the C locale; if equals to >> > > 1, read the LCCTYPE to decide if it should be coerced. >> > >> > Can we use another value for coerceclocale to determine whether to >> > warn or not? Save a field. >>>> coerceclocale is already complex, it can have 4 values: -1, 0, 1 and 2. >> I prefer keep a separated field. >>>> Moreover, I understood that you might want to coerce the C locale and >> get the warning, or get the warning but not coerce the locale. >>>> Are these configurations are really needed? >> Applications embedding Python may not initialize Python interpreter at first. > For example, vim initializes Python when Python is used first time. >> On the other hand, C locale coercion should be done ASAP application starts. >> I think dedicated API for coercing C locale is better than preconfig. >> // When application starts: > PyCoerceCLocale(warn=0); >> // later... > PyInitialize(); >> -- > Inada Naoki <songofacandy at gmail.com> >

Night gathers, and now my watch begins. It shall not end until my death. -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://mail.python.org/pipermail/python-dev/attachments/20190406/39bde335/attachment.html>



More information about the Python-Dev mailing list