在 2021 年 10 月 13 日,在我们在 Azure ML 平台中的应用程序中,我们收到了这个导致管道步骤失败的新错误 - python 模块导入失败 -警告堆栈 <- 导致管道运行时错误的警告
我们需要将其设置为 false。为什么会失败?选择退出时的确切(和长期)后果是什么?此外,Azure ML 用户 - 你认为它的推出是否恰当?
在 2021 年 10 月 13 日,在我们在 Azure ML 平台中的应用程序中,我们收到了这个导致管道步骤失败的新错误 - python 模块导入失败 -警告堆栈 <- 导致管道运行时错误的警告
我们需要将其设置为 false。为什么会失败?选择退出时的确切(和长期)后果是什么?此外,Azure ML 用户 - 你认为它的推出是否恰当?
尝试像这样将新变量添加到您的环境中:
environment.environment_variables = {"AZUREML_COMPUTE_USE_COMMON_RUNTIME":"false"}
我们发现了这个问题,并在我们端推出了一个修补程序来解决这个问题。有两个问题可能导致导入问题。一是我们正在覆盖PYTHONPATH
环境变量。第二个是如果包含目录不是当前工作目录,我们不会将 python 脚本的包含目录添加到 python 的模块搜索路径中。
如果您可以在不设置AZUREML_COMPUTE_USE_COMMON_RUNTIME
环境变量的情况下再试一次,看看问题是否仍然存在,那就太好了。如果是,请回复 Lucas 的线程或我的线程,并简要说明您尝试导入的模块相对于正在运行的脚本和快照的根目录(即当前工作目录)的位置)。
长期(整个 2022 年),AzureML 将完全迁移到 AmlCompute 上的新通用运行时。短期来看,这种变化是一项艰巨的任务,我们正在寻找我们尚未正确处理的旧 Compute Runtime 的棘手功能。
关于禁用 Common Runtime 的一个小提示,将环境变量直接添加到RunConfig
:
run_config.environment_variables["AZUREML_COMPUTE_USE_COMMON_RUNTIME"] = "false"
我们希望获得有关导入失败的更多详细信息,以便我们可以修复回归。您是否设置PYTHONPATH
环境变量以使您的自定义脚本可导入?如果是这样,这是我们知道的事情没有按预期工作,并希望在接下来的两周内解决它。