tensorflow error when installing turicreate? - python

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.

Related

Could not find a version that satisfies the requirement Python

Could not find a version that satisfies the requirement librabbitmq==1.6.1 (from versions: 0.9.0, 0.9.1, 0.9.2, 0.9.3, 0.9.4, 0.9.5, 0.9.6, 0.9.7, 0.9.8, 0.9.9, 1.0.0, 1.0.1, 1.0.2, 1.0.3, 1.5.0, 1.5.1, 1.5.2, 1.6.0, 1.6.1, 2.0.0)
I am getting similar error while install librarabbitmq,numpy,supervisor,xattr,MySQL-python there are specific versions i am trying to install and it pops out the same error while the version remain in the packages it can't find those.
The command used to install the package
pip install librabbitmq==1.6.1
the same goes for other packages as well

AWS Codeartifact with upstream pypi not fetching latest version

I have a python Codeartifact repository which has an upstream PyPI repo.
In PyPI a new version of a library (google-auth 2.3.1) was published on the 25th of October, but whenever I try to install it via Codeartifact the latest available version is 2.3.0.
Is there a way to tell Codeartifact that the upstream has newer versions? How long does it takes for Codeartifact to pick up updates in PyPI?
This is the only source I found from AWS which states that this can happen but not how to solve it: https://docs.aws.amazon.com/codeartifact/latest/ug/external-connection.html#external-connection-unavailable
Error message:
ERROR: No matching distribution found for google-authpip3 install google-auth==2.3.1
Looking in indexes: https://aws:****#packages-****.d.codeartifact.eu-central-1.amazonaws.com/pypi/common/simple/
ERROR: Could not find a version that satisfies the requirement google-auth==2.3.1 (from versions: 0.0.1, 0.1.0, 0.2.0, 0.3.0, 0.3.1, 0.3.2, 0.4.0, 0.5.0, 0.6.0, 0.7.0, 0.8.0, 0.9.0, 0.10.0, 1.0.0, 1.0.1, 1.0.2, 1.1.0, 1.1.1, 1.2.0, 1.2.1, 1.3.0, 1.4.0, 1.4.1, 1.4.2, 1.5.0, 1.5.1, 1.6.0, 1.6.1, 1.6.2, 1.6.3, 1.7.0, 1.7.1, 1.7.2, 1.8.0, 1.8.1, 1.8.2, 1.9.0, 1.10.0, 1.10.1, 1.10.2, 1.11.0, 1.11.1, 1.11.2, 1.11.3, 1.12.0, 1.13.0, 1.13.1, 1.14.0, 1.14.1, 1.14.2, 1.14.3, 1.15.0, 1.16.0, 1.16.1, 1.17.0, 1.17.1, 1.17.2, 1.18.0, 1.19.0, 1.19.1, 1.19.2, 1.20.0, 1.20.1, 1.21.0, 1.21.1, 1.21.2, 1.21.3, 1.22.0, 1.22.1, 1.23.0, 1.24.0, 1.25.0, 1.26.0, 1.26.1, 1.27.0, 1.27.1, 1.28.0, 1.28.1, 1.29.0, 1.30.0, 1.30.1, 1.30.2, 1.31.0, 1.32.0, 1.32.1, 1.33.0, 1.33.1, 1.34.0, 1.35.0, 2.0.0.dev0, 2.0.0b1, 2.0.0, 2.0.1, 2.0.2, 2.1.0, 2.2.0, 2.2.1, 2.3.0)
Solution which works for me right now:
create venv if not available python3 -m venv .venv
activate it source .venv/bin/activate
install the package given in the log-statement eg pip install google-authpip3 --no-cache
run poetry again poetry install
if more errors occur, continue with 3)
My assumption is, that the local pip/poetry cache is not up to date. So I force pip to fetch the latest versions

Azure ML Python SDK Installation Issue

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

How to know what python version a package is compatible with

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!

Installing specific tensorflow branch with pip

I am working on this project which was tested with tensorflow v0.10.0rc0.
I don't want to take any dependency risks, and I'm a bit confused about this syntax version (instead of less cryptic 1.0, 1.1, 1.2, 1.3and 1.4 versions)
so how do I safely install this v0.10.0rc0 version using a pip command?
You can see the history of official pip dependencies by doing the following:
pypi.python.org/simple/<nameofpackage>/
The one you're interested in is linked here. These are all the available packages and there are some v0.12 versions and alike there you can try.
To install a specific version of the package, do the following:
pip install -I tensorflow==<version>
NOTE: You can also install packages which are hosted externally by replacing tensorflow== with the HTTP link.
To install a specific version with pip:
pip install tensorflow==<VERSION>
However, the specific version you want is not available via pip and I'm afraid you're going to have to compile from source if you want to use it.
Available pip3 versions (nov 18, 2017):
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
Available pip2 versions (nov 18, 2017):
0.12.0rc0, 0.12.0rc1, 0.12.0, 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

Categories