Tfx: Can't Pip Install TFX: tried different environment setups and python/pip versions

Created on 4 Nov 2019  路  15Comments  路  Source: tensorflow/tfx

TFX won't install on my windows machine. It throws this exact same error for all the different standalone packages: tensorflow-data-validation, tensorflow-transform, tensorflow-model-analysis, ml-metadata, etc

Please help! I've been struggling with this for about 3 weeks now. I am running Anaconda with Python 3.7.4, TensorFlow 2.0, on Windows 10. I've tried TFX 0.14.0 and 0.15.0rc0

ERROR: Could not find a version that satisfies the requirement <component-package> (from versions: none)
ERROR: No matching distribution found for <component-package>
awaiting tensorflower builinstall

Most helpful comment

Thanks @lildonpancho

I'm pasting the command I used with Anaconda, minor differences compares to Miniconda.

  1. conda create --name tfx
  2. conda install python=3.6
  3. pip3 install tfx

All 15 comments

@iLikeToCodeZ Can you install tensorflow without any issues?

@iLikeToCodeZ Can you install tensorflow without any issues?

Yes. It seems it has a problem on Windows only. I just installed everything perfectly on Ubuntu.

What pip version are you using on windows?

What pip version are you using on windows?

19.3.1

I am having similar issues trying to pip install tfx on Windows 10 Home with Python 3.7.5.
In the first virtual environment, I installed tensorflow 2.0 and pip 19.3.1:
pip install tfx
ERROR: Could not find a version that satisfies the requirement tensorflow-data-validation<0.15,>=0.14.1 (from tfx) (from versions: none)
ERROR: No matching distribution found for tensorflow-data-validation<0.15,>=0.14.1 (from tfx)

In a second virtual environment, I installed tensorflow 1.15.0 with pip 19.3.1:
python -m pip install tfx
ERROR: Could not find a version that satisfies the requirement ml-metadata<0.15,>=0.14 (from tfx) (from versions: 0.12.0.dev0, 0.13.0.dev0, 0.13.1.dev0, 0.15.0)
ERROR: No matching distribution found for ml-metadata<0.15,>=0.14 (from tfx)

It looks like the tfx versions 0.14 and 0.14.1 are not available for Windows on pypi.

When I attempt to load a specific version of tfx on tensorflow 1.15.0 and the following command:
python -m pip install tfx==0.14.0
The error message change to ml-metadata:
ERROR: Could not find a version that satisfies the requirement ml-metadata<0.15,>=0.14 (from tfx==0.14.0) (from versions: 0.12.0.dev0, 0.13.0.dev0, 0.13.1.dev0, 0.15.0)
ERROR: No matching distribution found for ml-metadata<0.15,>=0.14 (from tfx==0.14.0)

I have made some progress. Windows 10 Home, Python 3.6.5, pip 19.3.1, and tensorflow 1.15.0.
I am still unable to pip install tfx; however, the installation does progress with
python -m pip install tfx==0.15.0rc0
However, there are still errors that I am concerned about. The first error occurred while installing tensorflow==1.15.0 with python 3.6.5
ERROR: tensorboard 1.15.0 has requirement setuptools>=41.0.0, but you'll have setuptools 40.6.2 which is incompatible.
Second error occurs at the very end of pip install of tfx==0.15.0rc0
ERROR: apache-beam 2.16.0 has requirement httplib2<=0.12.0,>=0.8, but you'll have httplib2 0.14.0 which is incompatible.
ERROR: tensorflow-serving-api 2.0.0 has requirement tensorflow~=2.0.0, but you'll have tensorflow 1.15.0 which is incompatible.

Same issue is there for ubuntu 18.04

Same issue for Ubuntu 20.04 LTS.

```_
ERROR: Could not find a version that satisfies the requirement tfx-bsl<0.23,>=0.22 (from tensorflow-transform) (from versions: none)
ERROR: No matching distribution found for tfx-bsl<0.23,>=0.22 (from tensorflow-transform)

Resolved on Ubuntu 18.04.2 LTS by upgrading pip
python3 -m pip install --upgrade pip

Same problem happened on Ubuntu 20.04 LTS, even after upgrading PIP to the latest version

pip 20.1.1 from /home/user/.virtualenvs/jupyter/lib/python3.8/site-packages/pip (python 3.8)

My TF version is 2.2.

(jupyter) user@desktop:~$ pip install -U tfx
Collecting tfx
Using cached tfx-0.22.1-py3-none-any.whl (1.5 MB)
Collecting tensorflow-model-analysis<0.23,>=0.22.2
Using cached tensorflow_model_analysis-0.22.2-py3-none-any.whl (1.6 MB)
Collecting click<8,>=7
Using cached click-7.1.2-py2.py3-none-any.whl (82 kB)
Collecting docker<5,>=4.1
Downloading docker-4.2.2-py2.py3-none-any.whl (144 kB)
|鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅| 144 kB 5.3 MB/s
Requirement already satisfied, skipping upgrade: protobuf<4,>=3.7 in ./.virtualenvs/jupyter/lib/python3.8/site-packages (from tfx) (3.12.2)
Collecting tensorflow!=2.0.*,<3,>=1.15
Using cached tensorflow-2.2.0-cp38-cp38-manylinux2010_x86_64.whl (516.3 MB)
Requirement already satisfied, skipping upgrade: pyyaml<6,>=3.12 in ./.virtualenvs/jupyter/lib/python3.8/site-packages (from tfx) (5.3.1)
Collecting tensorflow-serving-api<3,>=1.15
Using cached tensorflow_serving_api-2.2.0-py2.py3-none-any.whl (38 kB)
Collecting absl-py<0.9,>=0.1.6
Using cached absl-py-0.8.1.tar.gz (103 kB)
Requirement already satisfied, skipping upgrade: grpcio<2,>=1.28.1 in ./.virtualenvs/jupyter/lib/python3.8/site-packages (from tfx) (1.30.0)
Requirement already satisfied, skipping upgrade: jinja2<3,>=2.7.3 in ./.virtualenvs/jupyter/lib/python3.8/site-packages (from tfx) (2.11.2)
Collecting google-api-python-client<2,>=1.7.8
Using cached google_api_python_client-1.10.0-py2.py3-none-any.whl (60 kB)
Requirement already satisfied, skipping upgrade: six<2,>=1.10 in ./.virtualenvs/jupyter/lib/python3.8/site-packages (from tfx) (1.14.0)
Collecting kubernetes<12,>=10.0.1
Downloading kubernetes-11.0.0-py3-none-any.whl (1.5 MB)
|鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅| 1.5 MB 5.9 MB/s
ERROR: Could not find a version that satisfies the requirement ml-metadata<0.23,>=0.22.1 (from tfx) (from versions: 0.12.0.dev0, 0.13.0.dev0, 0.13.1.dev0)
ERROR: No matching distribution found for ml-metadata<0.23,>=0.22.1 (from tfx)

Solved this by creating a virtual environment in Miniconda (would also work in Anaconda), downgrading my Python version to 3.5, and upgrading my pip version.

  1. conda create tfx-env
  2. conda activate tfx-env
  3. conda install python=3.5
  4. python3 -m pip install --upgrade pip
  5. pip3 install tfx

This was on WSL using Ubuntu 20.04 image.

Thanks @lildonpancho

I'm pasting the command I used with Anaconda, minor differences compares to Miniconda.

  1. conda create --name tfx
  2. conda install python=3.6
  3. pip3 install tfx

Thanks @lildonpancho

I'm pasting the command I used with Anaconda, minor differences compares to Miniconda.

  1. conda create --name tfx
  2. conda install tfx
  3. conda install python=3.6
  4. pip3 install tfx

I think these commands would work the same with Miniconda. 2 questions:

  1. Why did you use conda and pip?
  2. Shouldnt you activate your virtual environment before installing TFX?

@lildonpancho

  1. There is a minor difference in CLI syntax between Anaconda and Miniconda. I installed Anaconda and found the command you given didn't work. And of course, some quick Google search took me to the syntax accepted by Anaconda. Though, the conda executable part is the same between Anaconda and Miniconda. I have corrected my comment that only install tfx in pip3.
  2. Yes, when I create conda environment, it kinda activates by default. It's more of Conda CLI usage.

I think the fact with Conda, we can freely navigate between different Python versions is a big plus.

Was this page helpful?
0 / 5 - 0 ratings