Skip to content

getpath miscalculates sys.path from second initialization with PYTHONHOME on Windows#91985

@neonene

Description

@neonene

When I ran the code below in a python build directory:

#include <Python.h> int main(int argc, char *argv[]){PyConfig config; PyConfig_InitPythonConfig(&config); for (int i=0; i < 3; i++){printf("\n%d\n", i); Py_InitializeFromConfig(&config); PyRun_SimpleString("import sys; list(map(print, sys.path))"); Py_Finalize()} PyConfig_Clear(&config); return 0} 
  • Expected results without PYTHONHOME:
0 C:\cpython-main\PCbuild\amd64\python311.zip C:\cpython-main\Lib C:\cpython-main\PCbuild\amd64 C:\cpython-main C:\cpython-main\Lib\site-packages 1 C:\cpython-main\PCbuild\amd64\python311.zip C:\cpython-main\Lib C:\cpython-main\PCbuild\amd64 C:\cpython-main C:\cpython-main\Lib\site-packages 2 C:\cpython-main\PCbuild\amd64\python311.zip C:\cpython-main\Lib C:\cpython-main\PCbuild\amd64 C:\cpython-main C:\cpython-main\Lib\site-packages 
  • set PYTHONHOME=C:\cpython-main:
0 C:\cpython-main\PCbuild\amd64\python311.zip C:\cpython-main\Lib C:\cpython-main\PCbuild\amd64 C:\cpython-main C:\cpython-main\Lib\site-packages 1 C:\cpython-main\PCbuild\amd64\python311.zip C:\cpython-main\Lib C:\cpython-main\DLLs # <<<<<<<<<< unexpected C:\cpython-main C:\cpython-main\Lib\site-packages 2 C:\cpython-main\PCbuild\amd64\python311.zip C:\cpython-main\Lib C:\cpython-main\DLLs # <<<<<<<<<< unexpected C:\cpython-main C:\cpython-main\Lib\site-packages 

Currently, test_embed fails due to this. (#32313)

Metadata

Metadata

Assignees

No one assigned

    Labels

    OS-windowstype-bugAn unexpected behavior, bug, or error

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions