I am trying to deploy a Flask app to Heroku. In order for the app to be able to use Keras properly, Tensorflow has to be atleast version 2.2. So I did pipenv install tensorflow
(like I did for all of my dependencies), which put tensorflow version 2.3 in my Pipfile.lock file and tensorflow = "*"
in my Pipfile. I also put tensorflow==2.3 as a requirement in my requirements.txt file. However, when I try to push these changes to Heroku, Heroku responds with the following error:
Could not find a version that satisfies the requirement tensorflow==2.3.0 (from -r /tmp/pipenv-imj6590f-requirements/pipenv-fawijosx-requirement.txt (line 1)) (from versions: 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)
remote: No matching distribution found for tensorflow==2.3.0 (from -r /tmp/pipenv-imj6590f-requirements/pipenv-fawijosx-requirement.txt (line 1))
remote: You are using pip version 9.0.2, however version 20.2.2 is available.
remote: You should consider upgrading via the 'pip install --upgrade pip' command.
This is troubling because like I said earlier, I need Heroku to have a tensorflow version that is atleast 2.2. I think it might be because the pip version that Heroku is using is 9.0.2, and in order to use Tensorflow 2, you must have atleast pip version 19. How do I get the tensorflow 2.3 requirement to be satisfied by Heroku? I have been trying to solve this issue for hours with no luck, so any help would be much appreciated. Thanks!