0

我正在尝试在 AzureML SDK 中运行 Python 脚本。但是在运行日志文件中,它一遍又一遍地打印相同的错误:

警告:您的环境文件中有 pip 安装的依赖项,但您没有将 pip 本身列为您的 conda 依赖项之一。Conda 可能不会使用正确的 pip 来安装您的软件包,并且它们最终可能会出现在错误的位置。请添加显式 pip 依赖项。我给你加了一个,但还是唠叨你。

定义的 conda 环境如下所示:

    {
    "databricks": {
        "eggLibraries": [],
        "jarLibraries": [],
        "mavenLibraries": [],
        "pypiLibraries": [],
        "rcranLibraries": []
    },
    "docker": {
        "arguments": [],
        "baseDockerfile": null,
        "baseImage": "mcr.microsoft.com/azureml/openmpi3.1.2-ubuntu18.04:20210301.v1",
        "baseImageRegistry": {
            "address": null,
            "password": null,
            "registryIdentity": null,
            "username": null
        },
        "enabled": false,
        "platform": {
            "architecture": "amd64",
            "os": "Linux"
        },
        "sharedVolumes": true,
        "shmSize": null
    },
    "environmentVariables": {
        "EXAMPLE_ENV_VAR": "EXAMPLE_VALUE"
    },
    "inferencingStackVersion": null,
    "name": "MyEnvironment04",
    "python": {
        "baseCondaEnvironment": null,
        "condaDependencies": {
            "channels": [
                "anaconda",
                "conda-forge"
            ],
            "dependencies": [
                "python=3.6.2",
                {
                    "pip": [
                        "pip=20.2.40"
                    ]
                },
                "scikit-learn"
            ],
            "name": "azureml_815589d460c271a1415198e7283fa9e9"
        },
        "condaDependenciesFile": null,
        "interpreterPath": "python",
        "userManagedDependencies": false
    },
    "r": null,
    "spark": {
        "packages": [],
        "precachePackages": true,
        "repositories": []
    },
    "version": "1"
}

我假设我的环境中我的 pip 包的定义是错误的。

# Create the dependencies object
myenv_dep = CondaDependencies.create(conda_packages=['scikit-learn'], pip_packages=['pip=20.2.40'])
myenv.python.conda_dependencies = myenv_dep

如果我需要提供更多信息,请告诉我。

谢谢!

4

1 回答 1

0

如果有的话,您可能会考虑删除您的azureml_conda_lock目录并重试。此目录的位置取决于操作系统,但您应该在.azureml/locks/location 下找到它。

否则,我假设您在 Python 环境(如 VENV 或类似的非 Conda 环境)中设置了 AzureML SDK。

这就是为什么 AzureML SDK 进入从 VENV/非 Conda 环境中尝试设置 Conda 环境失败的循环,因此它正在记录此类消息。

在这种情况下,您应该尝试使用 Conda 设置您的 AzureML SDK,这应该可以解决问题。

于 2021-08-11T13:28:57.333 回答