Could not find a version that satisfies the requirement tensorflow==1.12.0 [ Deploying Flask Python App on Cloud foundry]

Question:

Hello

Need help in resolving the following error while deploying Python Flask App on Pivotal Cloud Foundry.

“Could not find a version that satisfies the requirement tensorflow==1.12.0”

What am I missing or doing incorrectly?

I have tried with various tensorflow versions(1.13.x,1.14.x,2.1.x) along with different python versions 3.7.x,3.8.x, but nothing has worked out.
Is there any specific version that i need to vendor before pushing app

requirements.txt:
Flask
Jinja2
tensorflow==1.12.0
numpy==1.13.3
pandas==0.25.3


runtime.txt:
python-3.6.8

manifest.yaml:
applications:
- memory: 1GB
  disk_quota: 1GB
  random-route: true
  buildpack: python_buildpack
  stack: cflinuxfs2

procfile:
web: python -m flask run --host=0.0.0.0 --port=8080

Error is attached.enter image description here

Any help on this would be much appreciated.Thanks.

Asked By: Darshan Adakane

||

Answers:

Does your application have the ability to download dependencies from the Internet? It looks like pip is trying and failing to download dependencies. It then falls back to look at vendor’d dependencies and there are none, so it fails.

I believe you need to either enable Internet access so that dependencies can be downloaded or you need to vendor them using this process. If you are in a corporate environment, you may need to set http_proxy and https_proxy to point to your company’s proxy.


Aside from that, you need to change your stack from cflinuxfs2 to cflinuxfs3. The stack you’re using was EOL’d back in the Spring of 2019, so it’s wildly out of date at this point. Switching to cflinuxsf3 should have very little impact on your app, you’ll still have the same Python, etc… it will just be using the latest OS level dependencies, like OpenSSL. You just need to update your stack: cflinuxfs3 in your manifest.yml and push the app again.

Answered By: Daniel Mikusa