Azure / MachineLearningNotebooks

Python notebooks with ML and deep learning examples with Azure Machine Learning Python SDK | Microsoft
https://docs.microsoft.com/azure/machine-learning/service/
MIT License
4k stars 2.49k forks source link

ImportError: cannot import name 'ParamSpec' from 'typing_extensions' #1897

Open rrmehdi opened 1 year ago

rrmehdi commented 1 year ago

Hello, I have this message appeared while running Azure ML pipeline run in Jupyter notebook. The full error messages is following:

Traceback (most recent call last): File "prep_data.py", line 21, in from azureml.data.datapath import DataPath File "/azureml-envs/azureml_0d2906f1c950902b3e84ff740c17d7f4/lib/python3.8/site-packages/azureml/data/init.py", line 37, in from .datacache import DatacacheStore File "/azureml-envs/azureml_0d2906f1c950902b3e84ff740c17d7f4/lib/python3.8/site-packages/azureml/data/datacache.py", line 13, in from azureml.core.datastore import Datastore File "/azureml-envs/azureml_0d2906f1c950902b3e84ff740c17d7f4/lib/python3.8/site-packages/azureml/core/init.py", line 16, in from .workspace import Workspace File "/azureml-envs/azureml_0d2906f1c950902b3e84ff740c17d7f4/lib/python3.8/site-packages/azureml/core/workspace.py", line 22, in from azureml._project import _commands File "/azureml-envs/azureml_0d2906f1c950902b3e84ff740c17d7f4/lib/python3.8/site-packages/azureml/_project/_commands.py", line 29, in from azure.mgmt.resource import ResourceManagementClient File "/azureml-envs/azureml_0d2906f1c950902b3e84ff740c17d7f4/lib/python3.8/site-packages/azure/mgmt/resource/init.py", line 11, in from .features import FeatureClient File "/azureml-envs/azureml_0d2906f1c950902b3e84ff740c17d7f4/lib/python3.8/site-packages/azure/mgmt/resource/features/init.py", line 9, in from ._feature_client import FeatureClient File "/azureml-envs/azureml_0d2906f1c950902b3e84ff740c17d7f4/lib/python3.8/site-packages/azure/mgmt/resource/features/_feature_client.py", line 19, in from ._operations_mixin import FeatureClientOperationsMixin File "/azureml-envs/azureml_0d2906f1c950902b3e84ff740c17d7f4/lib/python3.8/site-packages/azure/mgmt/resource/features/_operations_mixin.py", line 16, in from . import models as _models File "/azureml-envs/azureml_0d2906f1c950902b3e84ff740c17d7f4/lib/python3.8/site-packages/azure/mgmt/resource/features/models.py", line 7, in from .v2021_07_01.models import * File "/azureml-envs/azureml_0d2906f1c950902b3e84ff740c17d7f4/lib/python3.8/site-packages/azure/mgmt/resource/features/v2021_07_01/init.py", line 9, in from ._feature_client import FeatureClient File "/azureml-envs/azureml_0d2906f1c950902b3e84ff740c17d7f4/lib/python3.8/site-packages/azure/mgmt/resource/features/v2021_07_01/_feature_client.py", line 18, in from .operations import FeatureClientOperationsMixin, FeaturesOperations, SubscriptionFeatureRegistrationsOperations File "/azureml-envs/azureml_0d2906f1c950902b3e84ff740c17d7f4/lib/python3.8/site-packages/azure/mgmt/resource/features/v2021_07_01/operations/init.py", line 9, in from ._operations import FeatureClientOperationsMixin File "/azureml-envs/azureml_0d2906f1c950902b3e84ff740c17d7f4/lib/python3.8/site-packages/azure/mgmt/resource/features/v2021_07_01/operations/_operations.py", line 24, in from azure.core.tracing.decorator import distributed_trace File "/azureml-envs/azureml_0d2906f1c950902b3e84ff740c17d7f4/lib/python3.8/site-packages/azure/core/tracing/decorator.py", line 31, in from typing_extensions import ParamSpec ImportError: cannot import name 'ParamSpec' from 'typing_extensions' (/azureml-envs/azureml_0d2906f1c950902b3e84ff740c17d7f4/lib/python3.8/site-packages/typing_extensions.py)

I am wondering if that could be related to memory issues, as some people on the web suggested? I am running only one pipeline for testing, and I load my data off my local folder and upload to default_datastore. Any other ideas?

Few details about packages I use: azureml-core 1.48.0 azureml-pipeline-core 1.48.0 typing_extensions 4.5.0

Any other packages you would like to know about? Thank you

Himanshuch1708 commented 1 year ago

Hello! It appears that the problem is connected to the typing_extensions package based on the error message you supplied. The message specifically states that it is unable to import the ParamSpec name from typing_extensions.

It's probable that your version of typing_extensions, 4.5.0, is incompatible with the other packages you're using, such as azureml-core and azureml-pipeline-core, given that you said that you use them.

Downgrading typing_extensions to a version that is known to operate well with your other packages is one option you can explore. You might try installing the stable version 3.10.0.0, which is known to function well with AzureML.

You can install this version by running the following command in your terminal or command prompt:

pip install typing_extensions==3.10.0.0

After installing this version, try running your AzureML pipeline again and see if the issue is resolved. If the issue persists, please let me know and provide any additional information you have so we can continue troubleshooting.