在Azure批处理的实现中,我尝试将Python3.7.3安装为池starttask事件的一部分。但是,我没有成功。启动任务几乎总是失败,返回“无效参数”。我想念什么?请帮忙。
pool.ApplicationPackageReferences =新列表 { 新的ApplicationPackageReference { ApplicationId =“ PythonInstall”, 版本=“ 1.0” } };
string appPath = String.Format("%AZ_BATCH_APP_PACKAGE_{0}#{1}%", appPackage_pyInstall_ID, appPackage_pyInstall_Version);
pool.StartTask = new StartTask()
{
CommandLine = $@" CMD.exe / copy --% {appPath}\python-3.7.3-amd64.exe %AZ_BATCH_NODE_STARTUP_DIR% && %AZ_BATCH_NODE_STARTUP_DIR%\python-3.7.3-amd64.exe /quiet InstallAllUsers=0 PrependPath=1 Include_test=0 TargetDir = %AZ_BATCH_NODE_STARTUP_DIR%",
UserIdentity = new UserIdentity(new AutoUserSpecification(elevationLevel: ElevationLevel.Admin, scope: AutoUserScope.Task)),
WaitForSuccess = true,
};
理想情况下,我希望安装可以安静地完成,但是不会发生:(
答案 0 :(得分:1)
有关安装python命令的工作示例,请参见https://github.com/Azure-Samples/azure-batch-samples/blob/328be5fe51e99297c69686cf30d1d2a06439af75/Python/Batch/sample4_job_scheduler.py#L49。
我相信您命令中的核心问题是您在cmd.exe执行中未包含/ c。
CMD.exe /
实际上应该是:
CMD.exe /c