python - 无法从 'Dataset' 导入名称 'mlflow.entities'

标签 python azure mlflow

我使用 Azure ML Studio (SDK2) 中的组件创建了管道。 当我运行时 - 我的包有问题

 File "com_row_to_col.py", line 6, in <module>
    import mlflow
  File "/azureml-envs/azureml_8fb4117f349a5533cb16993c2e87af3c/lib/python3.8/site-packages/mlflow/__init__.py", line 32, in <module>
    import mlflow.tracking._model_registry.fluent
  File "/azureml-envs/azureml_8fb4117f349a5533cb16993c2e87af3c/lib/python3.8/site-packages/mlflow/tracking/__init__.py", line 8, in <module>
    from mlflow.tracking.client import MlflowClient
  File "/azureml-envs/azureml_8fb4117f349a5533cb16993c2e87af3c/lib/python3.8/site-packages/mlflow/tracking/client.py", line 28, in <module>
    from mlflow.tracking._tracking_service.client import TrackingServiceClient
  File "/azureml-envs/azureml_8fb4117f349a5533cb16993c2e87af3c/lib/python3.8/site-packages/mlflow/tracking/_tracking_service/client.py", line 20, in <module>
    from mlflow.store.artifact.artifact_repository_registry import get_artifact_repository
  File "/azureml-envs/azureml_8fb4117f349a5533cb16993c2e87af3c/lib/python3.8/site-packages/mlflow/store/artifact/artifact_repository_registry.py", line 13, in <module>
    from mlflow.store.artifact.s3_artifact_repo import S3ArtifactRepository
  File "/azureml-envs/azureml_8fb4117f349a5533cb16993c2e87af3c/lib/python3.8/site-packages/mlflow/store/artifact/s3_artifact_repo.py", line 9, in <module>
    from mlflow import data
  File "/azureml-envs/azureml_8fb4117f349a5533cb16993c2e87af3c/lib/python3.8/site-packages/mlflow/data/__init__.py", line 5, in <module>
    from mlflow.data import dataset_registry
  File "/azureml-envs/azureml_8fb4117f349a5533cb16993c2e87af3c/lib/python3.8/site-packages/mlflow/data/dataset_registry.py", line 9, in <module>
    from mlflow.data.dataset import Dataset
  File "/azureml-envs/azureml_8fb4117f349a5533cb16993c2e87af3c/lib/python3.8/site-packages/mlflow/data/dataset.py", line 6, in <module>
    from mlflow.entities import Dataset as DatasetEntity
ImportError: cannot import name 'Dataset' from 'mlflow.entities' (/azureml-envs/azureml_8fb4117f349a5533cb16993c2e87af3c/lib/python3.8/site-packages/mlflow/entities/__init__.py)

这个错误是第6行

import mlflow

在组件脚本中...

我使用 env(我创建的)

channels:
  - conda-forge
dependencies:
  - python=3.10
  - numpy=1.21.2
  - pip=21.2.4
  - scikit-learn=0.24.2
  - scipy=1.7.1
  - 'pandas>=1.1,<1.2'
  - pip:
      - 'inference-schema[numpy-support]==1.3.0'
      - xlrd==2.0.1
      - mlflow==1.26.1
      - azureml-mlflow==1.42.0
      - 'psutil>=5.8,<5.9'
      - 'tqdm>=4.59,<4.60'
      - ipykernel~=6.0
      - matplotlib
name: model-env

这很重要...早期我使用来自 github(官方)的示例并工作...

有什么想法吗? 我尝试删除计算,删除环境...更改环境版本mlflow...

最佳答案

根据信息,您正在使用 mlfow version=1.26.1 enter image description here 数据集类似乎在此特定版本中不可用。

要解决此问题,您可以尝试使用 mlfow.entitites 中提供的数据集类的更高版本。

您可以尝试 mlflow 版本 2.6.0enter image description here 注意:请务必检查 mlflow 包与其他依赖项和 Python 版本的兼容性。

关于python - 无法从 'Dataset' 导入名称 'mlflow.entities',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76953366/

相关文章:

python 字典列表如何合并键 :value where values are same?

python - 在 Julia 中,将逗号插入整数以像 Python 3.6+ 一样进行打印

python - Python 面向对象中的数组

azure - Databricks Delta Lake + ADSL + Presto

amazon-s3 - MLflow:为什么 backend-store-uri 不能是 s3 位置?

python - 加载MLFlow模型时如何加载私有(private)python包?

python - 根据程序的运行方式显示不同的信息 : py vs pyz vs exe

azure - 使用 ARM 模板创建 Azure 自动化 Runbook Webhook?

c# - 如何在windows azure中部署asp.net网站