I need to migrate a python project from a Ubuntu machine to my local Windows laptop. In Ubuntu I am working in a virtual environment with python version 3.10.6. I created a requirements.txt using pip freeze > requirements.txt
and pushed it together with my code to remote repository. Then I pulled the repository on my local Windows machine and tried to set up a virtual environment using the requirements.txt
So I created a conda environment with python version 3.10.12 (I know it's not exactly the same, but it was a hassle so I figured it would be okay) and in that I created a virtual environment using python3 -m venv myenv
I activate it using myenv\Scripts\activate.bat
. So far so good. But now I try to install the packages using pip install -r requirements.txt
and it seems to work until at the very end I get
ERROR: Ignored the following versions that require a different python version: 0.23.0 Requires-Python >=3.6, <3.10; 0.36.0 Requires-Python >=3.6,<3.10; 0.37.0 Requires-Python >=3.7,<3.10; 0.52.0 Requires-Python >=3.6,<3.9; 0.52.0rc3 Requires-Python >=3.6,<3.9; 0.53.0 Requires-Python >=3.6,<3.10; 0.53.0rc1.post1 Requires-Python >=3.6,<3.10; 0.53.0rc2 Requires-Python >=3.6,<3.10; 0.53.0rc3 Requires-Python >=3.6,<3.10; 0.53.1 Requires-Python >=3.6,<3.10; 0.54.0 Requires-Python >=3.7,<3.10; 0.54.0rc2 Requires-Python >=3.7,<3.10; 0.54.0rc3 Requires-Python >=3.7,<3.10; 0.54.1 Requires-Python >=3.7,<3.10; 1.6.2 Requires-Python >=3.7,<3.10; 1.6.3 Requires-Python >=3.7,<3.10; 1.7.0 Requires-Python >=3.7,<3.10; 1.7.1 Requires-Python >=3.7,<3.10
ERROR: Could not find a version that satisfies the requirement tensorflow-io-gcs-filesystem==0.32.0 (from versions: 0.23.1, 0.24.0, 0.25.0, 0.26.0, 0.27.0, 0.28.0, 0.29.0, 0.30.0, 0.31.0)
ERROR: No matching distribution found for tensorflow-io-gcs-filesystem==0.32.0
And running pip list
afterwards reveals that no packages have been installed:
Package Version
---------- -------
pip 23.0.1
setuptools 65.5.0
I don't understand what's going on here, the message tells me I need a python version <3.10 (<3.9 even!), but the code ran under python3.10, I created the requirements.txt there!
I tried the same with virtual conda environments with python versions 3.8 and 3.11, but both times I got very similar (if not the same) error messages. What should I do to install the packages from the requirements.txt?
Your error is not
Ignored the following versions
But
Could not find a version that satisfies the requirement tensorflow-io-gcs-filesystem==0.32.0 (from versions: 0.23.1, 0.24.0, 0.25.0, 0.26.0, 0.27.0, 0.28.0, 0.29.0, 0.30.0, 0.31.0)
The first line is simply the output of pip
trying to figure out the list of versions that are compatible with your python version and OS, which is printed in the second line in the parantheses. If you look at the list from versions: 0.23.1, 0.24.0, 0.25.0, 0.26.0, 0.27.0, 0.28.0, 0.29.0, 0.30.0, 0.31.0
you will notice that 0.32
is not on there. The reason is, that this package does not provide windows whls for that version. Providing them is an open issue on github
For you this leaves the following options:
tensorflow-io
to 0.31 and therefore also tensorflow1 is the least amount of work, but you will ahve to check if your project is compatible, 2 is most likely to succeed and would ensure future compatibility between your two machines. 3 is unlikely to be achieved easily