<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ydb/library/python/runtime_py3/main/venv.cpp, branch roadmap</title>
<subtitle>Mirror of YDB github repos</subtitle>
<id>https://code.mastervirt.ru/ydb/atom?h=roadmap</id>
<link rel='self' href='https://code.mastervirt.ru/ydb/atom?h=roadmap'/>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/'/>
<updated>2022-05-04T10:34:25Z</updated>
<entry>
<title>DEVTOOLSSUPPORT-18626: In venv directly call Py_BytesMain()</title>
<updated>2022-05-04T10:34:25Z</updated>
<author>
<name>say</name>
<email>say@yandex-team.ru</email>
</author>
<published>2022-05-04T10:34:25Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=692098a9726abf54da61f833036c8965e28e1f18'/>
<id>urn:sha1:692098a9726abf54da61f833036c8965e28e1f18</id>
<content type='text'>
The arcadia main function (library/python/runtime_py3/main/main.c::pymain) calls Py_InitializeFromConfig() before going to the vanilla python Py_Main().
Py_InitializeFromConfig() overrides sys.prefix and sys.exec_prefix by default values ('/var/empty') and then import __res module (and importer.pxi as a part of it).
importer.pxi::_init_venv() set a proper value to sys.prefix and sys.exec_prefix attributes.
Py_Main() in turn also calls Py_InitializeFromConfig() and reset the sys attributes to their default values again.
I don't know why it was not a problem in python 3.9 but in 3.10 it is.

ref:0466de641f92d66c4f992ae12c02d8d58db397f6
</content>
</entry>
</feed>
