CreateprocessW更改python的lib调用的环境变量

时间:2015-07-16 09:53:45

标签: python windows environment-variables createprocess

wchar_t cmd2[] = L"cmd.exe";

STARTUPINFOW startInf;

memset( &startInf, 0, sizeof startInf );
startInf.cb = sizeof(startInf);

PROCESS_INFORMATION procInf;
memset( &procInf, 0, sizeof procInf );

BOOL b = CreateProcessW( NULL, cmd2, NULL, NULL, FALSE,
    NORMAL_PRIORITY_CLASS| CREATE_NEW_CONSOLE, "PYTHONPATH=\"C:\\Program Files\\Anaconda\\lib;C:\\Program Files\\Anaconda\\lib\\site-packages\0\0\"", NULL, &startInf, &procInf );


std::cout << "Retour de la commande CreateProcess= " << b << std::endl;

我尝试了以前的代码,以便打开一个控制台并运行一些python脚本(有一些其他的环境变量,比如包含python.exe位置的路径“,但这里不相关)。

我无法更改python位置,它包含一些空格,所以我必须在路径上引入一些“”。

我的问题是以下运行这个小程序,当控制台弹出我试图运行%pythonpath%并且我获得了:

  

'“C:\ Program Files \ Anaconda \ Lib \ site-packages”'n'est pas reconn ennt que co   mmande interne   ou externe,un programexécutableouun fichier de commandes。

我不能使用继承路径,因为这个调用的环境使用了不同版本的python和libs,它们不在同一个地方。

BOOL b = CreateProcessW( NULL, cmd2, NULL, NULL, FALSE,
    NORMAL_PRIORITY_CLASS| CREATE_NEW_CONSOLE, NULL, NULL, &startInf, &procInf );

我想添加可能在路径上包含一些空格的多个值/路径。

有人对此有任何线索吗?

致以最诚挚的问候,

0 个答案:

没有答案