Есть ли способ перенаправить Python для поиска в другом месте, например Python/Lib ? Я не могу изменить PATH (это Windows) и не хочу взламывать исходный код Python.
По сути, я не могу заставить Py_SetPath() работать, и мне не удалось найти практических примеров в Интернете.
Обновление:
ОК, это работает:
Код: Выделить всё
#define MYMAXPATHLEN 1000
static wchar_t progpath[MYMAXPATHLEN + 1];
wchar_t* pdir = L"\\My_New_Location\\Python\\Lib";
wchar_t* pdelim = L";";
wchar_t* pypath = NULL;
GetModuleFileNameW(NULL, progpath, MYMAXPATHLEN);
reduce(progpath);
wcscat(progpath,pdir);
// I get the present module path and add the extra dirs to access Lib code
wcscat(progpath, pdelim); // I add a path delimiter
pypath = Py_GetPath();
wcscat(progpath, pypath);
// I add the paths that Py_GetPath() produces.
Py_SetPath(progpath);
Py_Initialize();
Похоже, что вызов Py_SetProgamName() ПОСЛЕ инициализации очень важен для наличия встраивание вызова работает правильно.
Подробнее здесь: https://stackoverflow.com/questions/500 ... py-setpath