但是,当我在Python代码中打印sys.path时,它显示的是原始的PYTHONPATH内容,而不是我设置的内容。下面是我正在做的示例代码(使用Boost.Python):
int main(int argc, char* argv[])
{
_putenv_s("PYTHONPATH", "C:\\source\\\\modules");
Py_Initialize();
object main = import("__main__");
object global = (main.attr("__dict__"));
exec("import sys\nprint sys.path"), global, global);
}
PS - 我知道有其他方法可以实现我的目标,但这不是我所询问的。我想知道为什么 Py_Initialize() 在设置 sys.path 时不使用当前 PYTHONPATH 的值。也许我误解了它应该如何工作?
_putenv_s
是否成功,即返回值为0吗? - Troubadour