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 );
我想添加可能在路径上包含一些空格的多个值/路径。
有人对此有任何线索吗?
致以最诚挚的问候,