mirror of
https://github.com/python/cpython.git
synced 2025-08-02 16:13:13 +00:00
bpo-34977: Use venv redirector instead of original python.exe on Windows (GH-11029)
This commit is contained in:
parent
b6ef6f69a9
commit
1c3de541e6
11 changed files with 452 additions and 53 deletions
|
@ -536,10 +536,16 @@ static _PyInitError
|
|||
get_program_full_path(const _PyCoreConfig *core_config,
|
||||
PyCalculatePath *calculate, _PyPathConfig *config)
|
||||
{
|
||||
const wchar_t *pyvenv_launcher;
|
||||
wchar_t program_full_path[MAXPATHLEN+1];
|
||||
memset(program_full_path, 0, sizeof(program_full_path));
|
||||
|
||||
if (!GetModuleFileNameW(NULL, program_full_path, MAXPATHLEN)) {
|
||||
/* The launcher may need to force the executable path to a
|
||||
* different environment, so override it here. */
|
||||
pyvenv_launcher = _wgetenv(L"__PYVENV_LAUNCHER__");
|
||||
if (pyvenv_launcher && pyvenv_launcher[0]) {
|
||||
wcscpy_s(program_full_path, MAXPATHLEN+1, pyvenv_launcher);
|
||||
} else if (!GetModuleFileNameW(NULL, program_full_path, MAXPATHLEN)) {
|
||||
/* GetModuleFileName should never fail when passed NULL */
|
||||
return _Py_INIT_ERR("Cannot determine program path");
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue