Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

pip install azureml-sdk failing: Could not find a version that satisfies the requirement dotnetcore2>=2.1.9 #9583

Closed
dumbledad opened this issue Jan 24, 2020 · 7 comments
Labels
Client This issue points to a problem in the data-plane of the library. customer-reported Issues that are reported by GitHub users external to the Azure organization. Machine Learning ML-MLOps AreaPath

Comments

@dumbledad
Copy link

  • Package Name: azureml-sdk
  • Operating System: Windows 10 Enterprise Insider Preview Dell XPS 15 laptop (build 19551.1001)
  • Python Version: 3.7.0 (v3.7.0:1bf9cc5093, Jun 27 2018, 04:59:51) [MSC v.1914 64 bit (AMD64)]

Describe the bug
pip install azureml-sdk failing

To Reproduce
pip install azureml-sdk

Expected behavior
I expect pip to install the AzureML SDK

Actual behavior

ERROR: Could not find a version that satisfies the requirement dotnetcore2>=2.1.9 (from azureml-dataprep[fuse]<1.2.0a,>=1.1.37a->azureml-sdk) (from versions: none)
ERROR: No matching distribution found for dotnetcore2>=2.1.9 (from azureml-dataprep[fuse]<1.2.0a,>=1.1.37a->azureml-sdk)

Screenshots
Screenshot 2020-01-24 09 17 00

Additional context
I have downloaded and installed the .Net Core SDK and runtime from https://dotnet.microsoft.com/download/

@allenjzhang
Copy link
Member

Can you run in the same window dotnet --version?

@kaerm kaerm added Client This issue points to a problem in the data-plane of the library. customer-reported Issues that are reported by GitHub users external to the Azure organization. Machine Learning labels Jan 27, 2020
@marcelaldecoa
Copy link

marcelaldecoa commented Feb 5, 2020

TL;DR

Just upgrade your PIP to 20.0.2.

Had same issue and the problem was related to the version of the PIP

Had same issue and the problem was related to the version of the PIP. Downgrade to a version such as 19.3.1 or better, upgrade to 20.0.2 that fixes the issue #7626.

Below we have a deep dive on the issue.

Why upgrading to PIP 20.0.1 is failing dotnetcore2

According to the PIP release notes, the version 20.0.1 is based on the version 20.0.0 that contains deprecations and removals, including the issue #6908.

A closer inspection to the pull request #7354 reveled a number of changes to the file pep425tags.py, which Generate and work with PEP 425 Compatibility Tags.

Let's run some code to understand that.

Using PIP 19.3.1

# Make sure to use PIP 19.3.1
pip --version

# Return the supported tags
python -c "import pip._internal.pep425tags; print(pip._internal.pep425tags.get_supported())"

will return

[('cp36', 'cp36m', 'manylinux2014_x86_64'), ('cp36', 'cp36m', 'manylinux2010_x86_64'), ('cp36', 'cp36m', 'manylinux1_x86_64'), ('cp36', 'cp36m', 'linux_x86_64'), ('cp36', 'abi3', 'manylinux2014_x86_64'), ('cp36', 'abi3', 'manylinux2010_x86_64'), ('cp36', 'abi3', 'manylinux1_x86_64'), ('cp36', 'abi3', 'linux_x86_64'), ('cp36', 'none', 'manylinux2014_x86_64'), ('cp36', 'none', 'manylinux2010_x86_64'), ('cp36', 'none', 'manylinux1_x86_64'), ('cp36', 'none', 'linux_x86_64'), ('cp35', 'abi3', 'manylinux2014_x86_64'), ('cp35', 'abi3', 'manylinux2010_x86_64'), ('cp35', 'abi3', 'manylinux1_x86_64'), ('cp35', 'abi3', 'linux_x86_64'), ('cp34', 'abi3', 'manylinux2014_x86_64'), ('cp34', 'abi3', 'manylinux2010_x86_64'), ('cp34', 'abi3', 'manylinux1_x86_64'), ('cp34', 'abi3', 'linux_x86_64'), ('cp33', 'abi3', 'manylinux2014_x86_64'), ('cp33', 'abi3', 'manylinux2010_x86_64'), ('cp33', 'abi3', 'manylinux1_x86_64'), ('cp33', 'abi3', 'linux_x86_64'), ('cp32', 'abi3', 'manylinux2014_x86_64'), ('cp32', 'abi3', 'manylinux2010_x86_64'), ('cp32', 'abi3', 'manylinux1_x86_64'), ('cp32', 'abi3', 'linux_x86_64'), ('py3', 'none', 'manylinux2014_x86_64'), ('py3', 'none', 'manylinux2010_x86_64'), ('py3', 'none', 'manylinux1_x86_64'), ('py3', 'none', 'linux_x86_64'), ('cp36', 'none', 'any'), ('cp3', 'none', 'any'), ('py36', 'none', 'any'), ('py3', 'none', 'any'), ('py35', 'none', 'any'), ('py34', 'none', 'any'), ('py33', 'none', 'any'), ('py32', 'none', 'any'), ('py31', 'none', 'any'), ('py30', 'none', 'any')]

From this list what matters to us is the tupple ('py3', 'none', 'linux_x86_64'). Why? Because if we download the wheel dotnetcore2-2.1.12-py3-none-manylinux1_x86_64.whl, rename the file to .zip, decompress it and open the file dotnetcore2-2.1.12.dist-info/WHEEL, we will see the following...

Wheel-Version: 1.0
Generator: bdist_wheel (0.32.3)
Root-Is-Purelib: true
Tag: py3-none-linux_x86_64

Notice the line Tag: py3-none-linux_x86_64, compatible with the supported tags as we saw in the tupple ('py3', 'none', 'linux_x86_64').

Using PIP 20.0.1

# Upgrade to PIP 20.0.1
python -m pip install pip==20.0.1

# Make sure it is upgraded to 20.0.1
pip --version

# Return the supported tags
python -c "import pip._internal.pep425tags; print(pip._internal.pep425tags.get_supported())"

will return

[<cp36-cp36m-manylinux2014_x86_64 @ 140664842340808>, <cp36-cp36m-manylinux2010_x86_64 @ 140664842340680>, <cp36-cp36m-manylinux1_x86_64 @ 140664842340744>, <cp36-cp36m-linux_x86_64 @ 140664842340872>, <cp36-abi3-manylinux2014_x86_64 @ 140664842341000>, <cp36-abi3-manylinux2010_x86_64 @ 140664842341064>, <cp36-abi3-manylinux1_x86_64 @ 140664842341128>, <cp36-abi3-linux_x86_64 @ 140664842341192>, <cp36-none-manylinux2014_x86_64 @ 140664842341320>, <cp36-none-manylinux2010_x86_64 @ 140664842341384>, <cp36-none-manylinux1_x86_64 @ 140664842341448>, <cp36-none-linux_x86_64 @ 140664842341512>, <cp35-abi3-manylinux2014_x86_64 @ 140664842341640>, <cp35-abi3-manylinux2010_x86_64 @ 140664842341704>, <cp35-abi3-manylinux1_x86_64 @ 140664842341768>, <cp35-abi3-linux_x86_64 @ 140664842341832>, <cp34-abi3-manylinux2014_x86_64 @ 140664842341960>, <cp34-abi3-manylinux2010_x86_64 @ 140664842342024>, <cp34-abi3-manylinux1_x86_64 @ 140664842342088>, <cp34-abi3-linux_x86_64 @ 140664842342152>, <cp33-abi3-manylinux2014_x86_64 @ 140664842342280>, <cp33-abi3-manylinux2010_x86_64 @ 140664842342344>, <cp33-abi3-manylinux1_x86_64 @ 140664842391624>, <cp33-abi3-linux_x86_64 @ 140664842391688>, <cp32-abi3-manylinux2014_x86_64 @ 140664842391816>, <cp32-abi3-manylinux2010_x86_64 @ 140664842391880>, <cp32-abi3-manylinux1_x86_64 @ 140664842391944>, <cp32-abi3-linux_x86_64 @ 140664842392008>, <py36-none-manylinux2014_x86_64 @ 140664842392264>, <py36-none-manylinux2010_x86_64 @ 140664842392136>, <py36-none-manylinux1_x86_64 @ 140664842392200>, <py36-none-linux_x86_64 @ 140664842392328>, <cp36-none-any @ 140664842392456>, <py36-none-any @ 140664842392520>, <py3-none-any @ 140664842392584>, <py35-none-any @ 140664842392648>, <py34-none-any @ 140664842392712>, <py33-none-any @ 140664842392776>, <py32-none-any @ 140664842392840>, <py31-none-any @ 140664842392904>, <py30-none-any @ 140664842392968>]

The closest that uses py3 is <py3-none-any @ 140664842392584>.

If we run pip install dotnetcore2-2.1.12-py3-none-manylinux1_x86_64.whl we get the error ERROR: dotnetcore2-2.1.12-py3-none-manylinux1_x86_64.whl is not a supported wheel on this platform..

What if we change the tag manually?

What if we change the tag in the file dotnetcore2-2.1.12.dist-info/WHEEL to py3-none-any, like this...

Wheel-Version: 1.0
Generator: bdist_wheel (0.32.3)
Root-Is-Purelib: true
Tag: py3-none-any

Notice the line Tag: py3-none-any, compatible with the supported tag <py3-none-any @ 140664842392584>

Once the change is applied, we simple zip the folders again and rename the file to something like dotnetcore2-2.1.12-py3-none-any.whl

Now if we run ....
pip install dotnetcore2-2.1.12-py3-none-any.whl

We will be able to install the dotnetcore2 wheel using PIP 20.0.1.

@maggiepint
Copy link
Contributor

Hi- assuming that this question has been answered, so closing. Feel free to re-open an issue if this is still unresolved.

@v-strudm-msft v-strudm-msft added the ML-MLOps AreaPath label Aug 26, 2020
@JamesEarle
Copy link

JamesEarle commented Aug 31, 2020

I am still having this problem but for a different module @maggiepint @marcelaldecoa

pip install azureml-sdk

I am using pip version 20.2.2

Ends in the following error (other successful downloads excluded for brevity)

ERROR: Could not find a version that satisfies the requirement azureml-dataprep-native<21.0.0,>=20.0.2 (from azureml-dataprep<2.1.0a,>=2.0.1a->azureml-dataset-runtime[fuse]~=1.12.0->azureml-sdk) (from versions: none)
ERROR: No matching distribution found for azureml-dataprep-native<21.0.0,>=20.0.2 (from azureml-dataprep<2.1.0a,>=2.0.1a->azureml-dataset-runtime[fuse]~=1.12.0->azureml-sdk)

@cgideon
Copy link

cgideon commented Nov 2, 2020

I am running into the same error, running pip 20.2., python 3.8.6, and dotnet 3.1.109 on a Mac. This is the below error I get as well when running pip install azureml-sdk

ERROR: Could not find a version that satisfies the requirement azureml-sdk (from versions: none)
ERROR: No matching distribution found for azureml-sdk

@elsaVelazquez
Copy link

elsaVelazquez commented Nov 10, 2020

The following commands worked on my mac, and I attached the environment list here as specs.txt:

conda create --name azure_env python=3.7
conda activate azure_env
pip install azureml-sdk

specs.txt

@tanushreepaul04
Copy link

tanushreepaul04 commented Nov 15, 2020

For me in Windows following commands worked.
Found azureml-sdk installation recommendation for docker this MS docs that also worked in Windows.
https://docs.microsoft.com/en-us/azure/machine-learning/resource-known-issues

conda create --name azure-ml-env
conda activate azure-ml-env
conda install -c r -y conda python=3.6.2 pip=20.1.1
pip install azureml-sdk

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Client This issue points to a problem in the data-plane of the library. customer-reported Issues that are reported by GitHub users external to the Azure organization. Machine Learning ML-MLOps AreaPath
Projects
None yet
Development

No branches or pull requests

10 participants