Related
Environment: Windows 10 64bit
Issue: Can successfully install the azureml-core, azureml-widgets, azureml-mlflow with 1.35.0 version. However, when I tried to install the azureml-pipeline package with the following command
pip install azureml-pipeline
It will remove all the current 1.35.0 versions of azureml-core and replace with a older version as 1.0.85 as shown
...
Attempting uninstall: ruamel.yaml
Found existing installation: ruamel.yaml 0.17.16
Uninstalling ruamel.yaml-0.17.16:
Successfully uninstalled ruamel.yaml-0.17.16
Attempting uninstall: azure-mgmt-resource
Found existing installation: azure-mgmt-resource 13.0.0
Uninstalling azure-mgmt-resource-13.0.0:
Successfully uninstalled azure-mgmt-resource-13.0.0
Attempting uninstall: azureml-core
Found existing installation: azureml-core 1.35.0
Uninstalling azureml-core-1.35.0:
Successfully uninstalled azureml-core-1.35.0
Attempting uninstall: azureml-pipeline-core
Found existing installation: azureml-pipeline-core 1.35.0
Uninstalling azureml-pipeline-core-1.35.0:
Successfully uninstalled azureml-pipeline-core-1.35.0
Successfully installed azure-mgmt-resource-8.0.1 azureml-core-1.0.8585 azureml-telemetry-1.0.85.2 azureml-train-core-1.0.85
In addition, I checked the azureml-pipeline version and there has 1.35.0 as shown
azureml-pipeline (1.35.0)
Available versions: 1.35.0, 1.34.0, 1.33.0, 1.32.0, 1.31.0, 1.30.0, 1.29.0, 1.28.0, 1.27.0, 1.26.0, 1.25.0, 1.24.0, 1.23.0, 1.22.0, 1.21.0, 1.20.0, 1.19.0, 1.18.0, 1.17.0, 1.16.0, 1.15.0, 1.14.0, 1.13.0, 1.12.0, 1.11.0, 1.10.0, 1.9.0, 1.8.0, 1.7.0, 1.6.0, 1.5.0, 1.4.0, 1.3.0, 1.2.0, 1.1.5, 1.0.85, 1.0.83, 1.0.81, 1.0.79, 1.0.76, 1.0.74, 1.0.72, 1.0.69, 1.0.65, 1.0.62, 1.0.60, 1.0.57, 1.0.55, 1.0.53, 1.0.48, 1.0.45, 1.0.43, 1.0.41, 1.0.39, 1.0.33, 1.0.30, 1.0.23, 1.0.21, 1.0.18, 1.0.17, 1.0.15, 1.0.10, 1.0.8, 1.0.6, 1.0.2, 0.1.80, 0.1.74, 0.1.68, 0.1.65, 0.1.59, 0.1.58, 0.1.57
and if I specify the version of as
pip install azureml-pipeline==1.35.0
it shows the error as shown:
Requirement already satisfied: azureml-core~=1.35.0 in c:\essential_software\anaconda3\envs\pytorch-env\lib\site-packages (from azureml-pipeline-core~=1.35.0->azureml-pipeline==1.35.0) (1.35.0)
INFO: pip is looking at multiple versions of <Python from Requires-Python> to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of azureml-pipeline-core to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of azureml-pipeline to determine which version is compatible with other requirements. This could take a while.
ERROR: Could not find a version that satisfies the requirement azureml-train-automl-client~=1.35.0 (from azureml-pipeline-steps) (from versions: 1.0rc83, 1.0rc85, 1.0.76, 1.0.79, 1.0.81, 1.0.81.1, 1.0.83, 1.0.85, 1.0.85.1, 1.0.85.2, 1.0.85.3, 1.0.85.4, 1.1.0rc0, 1.1.1rc0, 1.1.2rc0, 1.1.5, 1.1.5.1, 1.1.5.2, 1.2.0, 1.3.0, 1.4.0, 1.5.0,
1.5.0.post1, 1.6.0, 1.6.0.post1, 1.7.0, 1.7.0.post1, 1.8.0, 1.9.0, 1.9.0.post1, 1.10.0, 1.11.0, 1.11.0.post1, 1.12.0, 1.12.0.post1, 1.12.0.post2, 1.13.0, 1.13.0.post1,
1.13.0.post2, 1.14.0, 1.14.0.post1, 1.15.0, 1.15.0.post1, 1.16.0, 1.17.0, 1.18.0)
ERROR: No matching distribution found for azureml-train-automl-client~=1.35.0
Replicate the issue:
pip install azureml-core
pip install azureml-pipeline
I tried to install an old version of a python package and got the Could not find a version that satisfies the requirement... error. I am confident that the package and the specified version do exist, and I have learned that this problem often occurs when the package is incompatible with the python version.
How do I find out what python version I need without installing them all and trying pip install until it works?
You can look up the package on the Python Package Index and scroll down to the "Meta" section in the left sidebar. This shows the Python version required by the package. As you do not specify the package you are looking for, I will use numpy as an example. For the current version of numpy, the following information is listed:
Requires: Python >=3.7
Therefore, you need Python 3.7 or higher to install this version of numpy.
If you are using an older version of Python and need the most recent version of the package that is compatible with that version, you can go to the release history (the second link at the top of the sidebar) and try different versions, scrolling down to the "Meta" section for every version. This is still a manual process, but less work than trying to install every single version.
Note: often, support for older versions is dropped in larger updates (so when either the first or second version number is updated), so you can skip small updates to speed up your search process.
For example, using this process, you can deduce that numpy 1.19.5 is the latest version to support Python 3.6, and numpy 1.16.6 is the latest version to support Python 2.7. At the top of the page, the command to install an older version of a package is shown, for example: pip install numpy==1.16.6.
If you want a more automated of finding this out you can trick pip into showing you. When you try to install a version of a package which doesn't exist pip provides you with a list of packages available.
pip install numpy==missing
In the response we can see all the versions
ERROR: Could not find a version that satisfies the requirement numpy==missing (from versions: 1.3.0, 1.4.1, 1.5.0, 1.5.1, 1.6.0, 1.6.1, 1.6.2, 1.7.0, 1.7.1, 1.7.2, 1.8.0, 1.8.1, 1.8.2, 1.9.0, 1.9.1, 1.9.2, 1.9.3, 1.10.0.post2, 1.10.1, 1.10.2, 1.10.4, 1.11.0, 1.11.1, 1.11.2, 1.11.3, 1.12.0, 1.12.1, 1.13.0rc1, 1.13.0rc2, 1.13.0, 1.13.1, 1.13.3, 1.14.0rc1, 1.14.0, 1.14.1, 1.14.2, 1.14.3, 1.14.4, 1.14.5, 1.14.6, 1.15.0rc1, 1.15.0rc2, 1.15.0, 1.15.1, 1.15.2, 1.15.3, 1.15.4, 1.16.0rc1, 1.16.0rc2, 1.16.0, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5, 1.16.6, 1.17.0rc1, 1.17.0rc2, 1.17.0, 1.17.1, 1.17.2, 1.17.3, 1.17.4, 1.17.5, 1.18.0rc1, 1.18.0, 1.18.1, 1.18.2, 1.18.3, 1.18.4, 1.18.5, 1.19.0rc1, 1.19.0rc2, 1.19.0, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.19.5, 1.20.0rc1, 1.20.0rc2, 1.20.0, 1.20.1, 1.20.2, 1.20.3, 1.21.0rc1, 1.21.0rc2, 1.21.0, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.22.0rc1, 1.22.0rc2, 1.22.0rc3, 1.22.0, 1.22.1, 1.22.2, 1.22.3, 1.22.4, 1.23.0rc1, 1.23.0rc2, 1.23.0rc3, 1.23.0, 1.23.1, 1.23.2, 1.23.3, 1.23.4)
ERROR: No matching distribution found for numpy==missing
If you want to test availability for a version of python which you are not running (in my case version 2.4) then you need to do the following.
pip install --python-version 24 --no-deps --target test-pkg numpy==missing
Note the options --no-deps --target are required for us to run --python-version
ERROR: Could not find a version that satisfies the requirement numpy==missing (from versions: 1.3.0, 1.4.1, 1.5.0, 1.5.1, 1.6.0, 1.6.1, 1.6.2, 1.7.0, 1.7.1, 1.7.2, 1.8.0, 1.8.1, 1.8.2, 1.9.0, 1.9.1, 1.9.2, 1.9.3, 1.10.0.post2, 1.10.1, 1.10.2, 1.10.4, 1.11.0, 1.11.1, 1.11.2, 1.11.3, 1.12.0, 1.12.1)
ERROR: No matching distribution found for numpy==missing
Tested on python version 3.5, pip==20.2.3
Combining this answer and that answer led me to a working solution with Python 3.10.8 (and pip>=2.22):
python -m pip install numpy== --dry-run --python-version 2.4 --no-deps --target foo
Output:
ERROR: Could not find a version that satisfies the requirement numpy== (from versions: 1.3.0, 1.4.1, 1.5.0, 1.5.1, 1.6.0, 1.6.1, 1.6.2, 1.7.0, 1.7.1, 1.7.2, 1.8.0, 1.8.1, 1.8.2, 1.9.0, 1.9.1, 1.9.2, 1.9.3, 1.10.0.post2, 1.10.1, 1.10.2, 1.10.4, 1.11.0, 1.11.1, 1.11.2, 1.11.3, 1.12.0, 1.12.1)
ERROR: No matching distribution found for numpy==
Note that if you are only looking for the latest version (not the whole list) of a package compatible with a given Python version you can also run:
python -m pip install numpy --dry-run --python-version 2.4 --no-deps --target foo
Output:
Collecting numpy
Downloading numpy-1.12.1.zip (4.8 MB)
---------------------------------------- 4.8/4.8 MB 3.6 MB/s eta 0:00:00
Preparing metadata (setup.py) ... done
Would install numpy-1.12.1
The most simpler approach I found for this problem was,
https://pyreadiness.org/3.9
This website gives you the list of packages both supported and not supported by python 3.9 version
If the package is in green then its supported and if its in white then not supported.
Search the page using Control + F.
if you want to check for any other version just change the URL to that specific python version,
e.g. Looking for python 3.8 then the URL will be
https://pyreadiness.org/3.8
This might not be the best approach but for someone looking for just whether a package is supported by a given python version its the easiest approach!
My project needs tensorflow==1.11.0
But when I tried to install it, I got:
pip install tensorflow-gpu==1.11.0
Looking in indexes: http://mirrors.aliyun.com/pypi/simple
ERROR: Could not find a version that satisfies the requirement tensorflow-gpu==1.11.0 (from versions: 1.13.1, 1.13.2, 1.14.0, 1.15.0rc0, 1.15.0rc1, 1.15.0rc2, 1.15.0rc3, 1.15.0, 1.15.2, 1.15.3, 2.0.0a0, 2.0.0b0, 2.0.0b1, 2.0.0rc0, 2.0.0rc1, 2.0.0rc2, 2.0.0, 2.0.1, 2.0.2, 2.1.0rc0, 2.1.0rc1, 2.1.0rc2, 2.1.0, 2.1.1, 2.2.0rc0, 2.2.0rc1, 2.2.0rc2, 2.2.0rc3, 2.2.0rc4, 2.2.0)
ERROR: No matching distribution found for tensorflow-gpu==1.11.0
Plus, I am using py3.7.
Some python versions are incompatible with some versions of Tensorflow. If you very specifically need Tensorflow 1.11.0 then you can probably install it in a Python 3.6 environment.
If you very specifically need Python 3.7, you can probably install Tensorflow 1.13.1 or later.
When I install turicreate package, it gives me the following error:
Collecting tensorflow>=2.0.0 (from turicreate)
Could not find a version that satisfies the requirement tensorflow>=2.0.0 (from turicreate) (from versions: 0.12.1, 1.0.0, 1.0.1, 1.1.0rc0, 1.1.0rc1, 1.1.0rc2, 1.1.0, 1.2.0rc0, 1.2.0rc1, 1.2.0rc2, 1.2.0, 1.2.1, 1.3.0rc0, 1.3.0rc1, 1.3.0rc2, 1.3.0, 1.4.0rc0, 1.4.0rc1, 1.4.0, 1.4.1, 1.5.0rc0, 1.5.0rc1, 1.5.0, 1.5.1, 1.6.0rc0, 1.6.0rc1, 1.6.0, 1.7.0rc0, 1.7.0rc1, 1.7.0, 1.7.1, 1.8.0rc0, 1.8.0rc1, 1.8.0, 1.9.0rc0, 1.9.0rc1, 1.9.0rc2, 1.9.0, 1.10.0rc0, 1.10.0rc1, 1.10.0, 1.10.1, 1.11.0rc0, 1.11.0rc1, 1.11.0rc2, 1.11.0, 1.12.0rc0, 1.12.0rc1, 1.12.0rc2, 1.12.0, 1.12.2, 1.12.3, 1.13.0rc0, 1.13.0rc1, 1.13.0rc2, 1.13.1, 1.13.2, 1.14.0rc0, 1.14.0rc1, 1.14.0, 2.0.0a0, 2.0.0b0, 2.0.0b1)
No matching distribution found for tensorflow>=2.0.0 (from turicreate)
which I encountered the same when installing tensorflow 2.0.0.
And I managed to install tensorflow2 with modification to the version(add a 'a0','b0','b1' after '2.0.0') using pip3 install tensorflow==2.0.0a0. However, I still cannot pass the installation of turicreate even with tensorflow2.0.0a0 installed and result in the same 'tensorflow error' shown above.
I am using python 3.6, numpy 1.16.5.
Can you please help me out?
Upgrade pip
# On Linux or macOS:
pip3 install -U pip
# On Windows:
python -m pip3 install -U pip
Install turicreate
pip3 install turicreate
This will solve your problem
I was having the same problem when I tried to install turicreate on the Jupyter Docker image that comes with some data science libraries loaded:
Image: jupyter/scipy-notebook
Packages: pandas, numexpr, matplotlib, scipy, seaborn, scikit-learn, scikit-image, sympy, cython, patsy, statsmodel, cloudpickle, dill, numba, bokeh, sqlalchemy, hdf5, vincent, beautifulsoup, protobuf, and xlrd packages
Error message:
Could not find a version that satisfies the requirement tensorflow>=2.0.0 (from turicreate) (from versions: 0.12.1, 1.0.0, 1.0.1, 1.1.0rc0, 1.1.0rc1, 1.1.0rc2, 1.1.0, 1.2.0rc0, 1.2.0rc1, 1.2.0rc2, 1.2.0, 1.2.1, 1.3.0rc0, 1.3.0rc1, 1.3.0rc2, 1.3.0, 1.4.0rc0, 1.4.0rc1, 1.4.0, 1.4.1, 1.5.0rc0, 1.5.0rc1, 1.5.0, 1.5.1, 1.6.0rc0, 1.6.0rc1, 1.6.0, 1.7.0rc0, 1.7.0rc1, 1.7.0, 1.7.1, 1.8.0rc0, 1.8.0rc1, 1.8.0, 1.9.0rc0, 1.9.0rc1, 1.9.0rc2, 1.9.0, 1.10.0rc0, 1.10.0rc1, 1.10.0, 1.10.1, 1.11.0rc0, 1.11.0rc1, 1.11.0rc2, 1.11.0, 1.12.0rc0, 1.12.0rc1, 1.12.0rc2, 1.12.0, 1.12.2, 1.12.3, 1.13.0rc0, 1.13.0rc1, 1.13.0rc2, 1.13.1, 1.13.2, 1.14.0rc0, 1.14.0rc1, 1.14.0, 2.0.0a0, 2.0.0b0, 2.0.0b1)
No matching distribution found for tensorflow>=2.0.0 (from turicreate)
However, when I took the basic (stripped) Jupyter image, it worked:
Image: jupyter/base-notebook
Packages: git, emacs, jed, nano, tzdata, and unzip
Installation instructions for turicreate:
from __future__ import print_function
import sys
!{sys.executable} -m pip install turicreate
Output:
Successfully installed absl-py-0.9.0 astor-0.8.1 cachetools-4.0.0 coremltools-3.1 gast-0.2.2 google-auth-1.10.0 google-auth-oauthlib-0.4.1 google-pasta-0.1.8 grpcio-1.26.0 h5py-2.10.0 keras-applications-1.0.8 keras-preprocessing-1.1.0 llvmlite-0.30.0 markdown-3.1.1 numba-0.46.0 numpy-1.16.4 opt-einsum-3.1.0 pandas-0.25.3 pillow-6.2.1 prettytable-0.7.2 protobuf-3.11.2 pyasn1-0.4.8 pyasn1-modules-0.2.7 pytz-2019.3 requests-oauthlib-1.3.0 resampy-0.2.1 rsa-4.0 scipy-1.4.1 tensorboard-2.0.2 tensorflow-2.0.0 tensorflow-estimator-2.0.1 termcolor-1.1.0 turicreate-6.0 werkzeug-0.16.0 wrapt-1.11.2
So, I guess the problem is that some of the libraries that you have installed in your environment conflict with turicreate. Perhaps you should try to use the above mentioned Docker image or try to create a virtual environment so you work in isolation (not tested this).
Info on the different Docker images:
https://jupyter-docker-stacks.readthedocs.io/en/latest/using/selecting.html#jupyter-scipy-notebook
Turicreate installation instructions where they comment on the virtual environment:
https://github.com/apple/turicreate#installation
Firstly, give try to a latest version of pip pip3 install -U pip, usually, it has less problems than previous.
Otherwise, if above fails, you can try running with pip3 install --no-deps turicreate to get past the cryptic error.
You'll need to install the dependencies manually. All 110 of them.
You can generate a list of them with something along these lines:
import os;
s = os.popen('pip3 freeze turicreate').read()
for q in [x.split('==')[0] for x in s.split('\n')]:
os.system('echo {} >> t.tmp'.format(q)
Then they can be installed with pip install -r t.tmp or for x in $(cat t.tmp); do pip3 install $x; done
I'm not sure how the funtionality related to the tensorflow or any other failed package is affected by this but I've managed to get simple sframes working with this method.
Then I've upgraded the pip and all the libs that weren't working installed without a problem.
Try upgrading pip. Tensorflow 2.0 needs newer versions of pip to be installed.
Personally this worked,
upgrade pip
installed tf2.0
installed turicreate.
I have Tensorflow 2 on my Mac but I need to downgrade it to 1.6.0 because I am using a package that needs that version of Tensorflow. I get the following error:
Collecting tensorflow==1.6.0
Could not find a version that satisfies the requirement tensorflow==1.6.0 (from versions: 1.13.0rc1, 1.13.0rc2, 1.13.1, 1.13.2, 1.14.0rc0, 1.14.0rc1, 1.14.0, 1.15.0rc0, 1.15.0rc1, 1.15.0rc2, 1.15.0rc3, 1.15.0, 2.0.0a0, 2.0.0b0, 2.0.0b1, 2.0.0rc0, 2.0.0rc1, 2.0.0rc2, 2.0.0)
No matching distribution found for tensorflow==1.6.0
What could be the reason?
How are you installing tensorflow? What command are you inputting? Try the below command:
pip install tensorflow==1.6.0