embedding - PyImport_AppendInittab() after Py_Initialize()

Could anyone please clarify whether it is correct in python3.5 to call PyImport_AppendInittab() after Py_Initialize() I found this case among the tests for boost.python https://github.com/boostorg/python/blob/develop/test/exec.cpp And this test doesn't work for me with python3.5.An error looks like: exec.cpp(137): Python Error detected in function 'void __cdecl check_pyerr(bool)' Traceback (most recent call last): File "<string>", line 1, in <module> ImportError: 'embedded_hello' is not a built-in module 1 error detected. After debugging I found out that root cause is in importlib/_bootstrap.py which do the following: if fullname not in sys.builtin_module_names: raise ImportError('{!r} is not a built-in module'.format(fullname), name=fullname) but sys.builtin_module_names is the constant which initialized once in Py_Initialize() --- To summarize: Is it a bug in python3.5 or original test inside boost.python should be fixed ?

On Fri, 27 May 2016 at 07:50 Vitaly Murashev <vitaly.murashev@gmail.com> wrote:
Could anyone please clarify whether it is correct in python3.5 to call PyImport_AppendInittab() after Py_Initialize()
It should be called before as PyImport_AppendInittab() is shorthand for PyImport_ExtendInittab() and it says to call prior to Py_Initialize(): https://github.com/python/cpython/blob/f680b517e2701e9a3859afb62628a46eccdce... . -Brett

On Fri, 27 May 2016 at 07:50 Vitaly Murashev <vitaly.murashev@gmail.com> wrote:
Could anyone please clarify whether it is correct in python3.5 to call PyImport_AppendInittab() after Py_Initialize()
It should be called before as PyImport_AppendInittab() is shorthand for PyImport_ExtendInittab() and it says to call prior to Py_Initialize(): https://github.com/python/cpython/blob/f680b517e2701e9a3859afb62628a46eccdce... . -Brett
participants (2)
-
Brett Cannon
-
Vitaly Murashev