Azure / azureml-examples

Official community-driven Azure Machine Learning examples, tested with GitHub Actions.
https://docs.microsoft.com/azure/machine-learning
MIT License
1.74k stars 1.42k forks source link

ModuleNotFoundError: No module named 'dateutil' when running pipeline_with_non_python_components.ipynb #1501

Open mastreips opened 2 years ago

mastreips commented 2 years ago

When trying to run tutorial 1d in the pipelines example I get this error when trying to trigger the pipeline in AML:

Traceback (most recent call last): File "/usr/local/bin/mlflow", line 8, in sys.exit(cli()) File "/usr/local/lib/python3.8/dist-packages/click/core.py", line 1130, in call return self.main(args, kwargs) File "/usr/local/lib/python3.8/dist-packages/click/core.py", line 1055, in main rv = self.invoke(ctx) File "/usr/local/lib/python3.8/dist-packages/click/core.py", line 1657, in invoke return _process_result(sub_ctx.command.invoke(sub_ctx)) File "/usr/local/lib/python3.8/dist-packages/click/core.py", line 1657, in invoke return _process_result(sub_ctx.command.invoke(sub_ctx)) File "/usr/local/lib/python3.8/dist-packages/click/core.py", line 1404, in invoke return ctx.invoke(self.callback, ctx.params) File "/usr/local/lib/python3.8/dist-packages/click/core.py", line 760, in invoke return __callback(args, **kwargs) File "/usr/local/lib/python3.8/dist-packages/mlflow/store/artifact/cli.py", line 63, in log_artifacts store = _get_store() File "/usr/local/lib/python3.8/dist-packages/mlflow/tracking/_tracking_service/utils.py", line 186, in _get_store return _tracking_store_registry.get_store(store_uri, artifact_uri) File "/usr/local/lib/python3.8/dist-packages/mlflow/tracking/_tracking_service/registry.py", line 39, in get_store return self._get_store_with_resolved_uri(resolved_store_uri, artifact_uri) File "/usr/local/lib/python3.8/dist-packages/mlflow/tracking/_tracking_service/registry.py", line 49, in _get_store_with_resolved_uri return builder(store_uri=resolved_store_uri, artifact_uri=artifact_uri) File "/usr/local/lib/python3.8/dist-packages/azureml/mlflow/entry_point_loaders.py", line 32, in azureml_store_builder from ._internal.service_context_loader import _AzureMLServiceContextLoader File "/usr/local/lib/python3.8/dist-packages/azureml/mlflow/_internal/service_context_loader.py", line 12, in from .utils import (get_service_context_from_tracking_url_default_auth, File "/usr/local/lib/python3.8/dist-packages/azureml/mlflow/_internal/utils.py", line 11, in from azureml.mlflow._common._authentication.azureml_token_authentication import AzureMLTokenAuthentication File "/usr/local/lib/python3.8/dist-packages/azureml/mlflow/_common/_authentication/azureml_token_authentication.py", line 13, in import dateutil ModuleNotFoundError: No module named 'dateutil' ! System command 'mlflow' failed

Additional context

If I add RUN pip install python-dateutil to the Dockerfile

I get the following AttributeError: module 'dateutil' has no attribute 'parser' Trace Error -

Traceback (most recent call last): File "/usr/local/bin/mlflow", line 8, in sys.exit(cli()) File "/usr/local/lib/python3.8/dist-packages/click/core.py", line 1130, in call return self.main(args, kwargs) File "/usr/local/lib/python3.8/dist-packages/click/core.py", line 1055, in main rv = self.invoke(ctx) File "/usr/local/lib/python3.8/dist-packages/click/core.py", line 1657, in invoke return _process_result(sub_ctx.command.invoke(sub_ctx)) File "/usr/local/lib/python3.8/dist-packages/click/core.py", line 1657, in invoke return _process_result(sub_ctx.command.invoke(sub_ctx)) File "/usr/local/lib/python3.8/dist-packages/click/core.py", line 1404, in invoke return ctx.invoke(self.callback, ctx.params) File "/usr/local/lib/python3.8/dist-packages/click/core.py", line 760, in invoke return __callback(args, **kwargs) File "/usr/local/lib/python3.8/dist-packages/mlflow/store/artifact/cli.py", line 63, in log_artifacts store = _get_store() File "/usr/local/lib/python3.8/dist-packages/mlflow/tracking/_tracking_service/utils.py", line 186, in _get_store return _tracking_store_registry.get_store(store_uri, artifact_uri) File "/usr/local/lib/python3.8/dist-packages/mlflow/tracking/_tracking_service/registry.py", line 39, in get_store return self._get_store_with_resolved_uri(resolved_store_uri, artifact_uri) File "/usr/local/lib/python3.8/dist-packages/mlflow/tracking/_tracking_service/registry.py", line 49, in _get_store_with_resolved_uri return builder(store_uri=resolved_store_uri, artifact_uri=artifact_uri) File "/usr/local/lib/python3.8/dist-packages/azureml/mlflow/entry_point_loaders.py", line 37, in azureml_store_builder service_context = _AzureMLServiceContextLoader.load_service_context(store_uri) File "/usr/local/lib/python3.8/dist-packages/azureml/mlflow/_internal/service_context_loader.py", line 68, in load_service_context service_context = get_service_context_from_tracking_url_mlflow_env_vars(parsed_url) File "/usr/local/lib/python3.8/dist-packages/azureml/mlflow/_internal/utils.py", line 280, in get_service_context_from_tracking_url_mlflow_env_vars auth = AzureMLTokenAuthentication.create( File "/usr/local/lib/python3.8/dist-packages/azureml/mlflow/_common/_authentication/azureml_token_authentication.py", line 204, in create return cls(azureml_access_token, expiry_time, host, subscription_id, File "/usr/local/lib/python3.8/dist-packages/azureml/mlflow/_common/_authentication/azureml_token_authentication.py", line 124, in init self._expiry_time = AzureMLTokenAuthentication._parse_expiry_time_from_token( File "/usr/local/lib/python3.8/dist-packages/azureml/mlflow/_common/_authentication/azureml_token_authentication.py", line 212, in _parse_expiry_time_from_token return AzureMLTokenAuthentication._convert_to_datetime(decode_json['exp']) File "/usr/local/lib/python3.8/dist-packages/azureml/mlflow/_common/_authentication/azureml_token_authentication.py", line 219, in _convert_to_datetime date = dateutil.parser.parse(expiry_time) AttributeError: module 'dateutil' has no attribute 'parser' ! System command 'mlflow' failed

mastreips commented 2 years ago

Changing the azureml-mlflow version solved the problem for me

RUN pip install azureml-mlflow==1.33.0