Problems with deploying a simple Flask app

I am trying to deploy a simple Flask app (just a hello world route for now) to. I know that I’ll need PyAudio for this project. So I already included it in the dependencies. Now when I deploy I get the following error message:

src/pyaudio/device_api.c:9:10: fatal error: portaudio.h: No such file or directory

If I understand it correctly portaudio is a C library that is needed by PyAudio. Which means I have to rely on portaudio being installed on the system I want to deploy to? Or alternatively use Docker (very limited knowledge)?

Any pointers into the right direction would be much appreciated!

Another thing that really confuses me is that, when I a generate a requirements.txt it adds Flask==2.3.1 as a dependency, which is current version. But the in the render.com logs I get

ERROR: Could not find a version that satisfies the requirement Flask==2.3.1 (from -r requirements.txt (line 9)) (from versions: 0.1, 0.2, 0.3, 0.3.1, 0.4, 0.5, 0.5.1, 0.5.2, 0.6, 0.6.1, 0.7, 0.7.1, 0.7.2, 0.8, 0.8.1, 0.9, 0.10, 0.10.1, 0.11, 0.11.1, 0.12, 0.12.1, 0.12.2, 0.12.3, 0.12.4, 0.12.5, 1.0, 1.0.1, 1.0.2, 1.0.3, 1.0.4, 1.1.0, 1.1.1, 1.1.2, 1.1.3, 1.1.4, 2.0.0rc1, 2.0.0rc2, 2.0.0, 2.0.1, 2.0.2, 2.0.3, 2.1.0, 2.1.1, 2.1.2, 2.1.3, 2.2.0, 2.2.1, 2.2.2, 2.2.3, 2.2.4)
ERROR: No matching distribution found for Flask==2.3.1 (from -r requirements.txt (line 9))

Hey !
unistall flask version ==2.3.1 and install the old version (from versions: 0.1, 0.2, 0.3, 0.3.1, 0.4, 0.5, 0.5.1, 0.5.2, 0.6, 0.6.1, 0.7, 0.7.1, 0.7.2, 0.8, 0.8.1, 0.9, 0.10, 0.10.1, 0.11, 0.11.1, 0.12, 0.12.1, 0.12.2, 0.12.3, 0.12.4, 0.12.5, 1.0, 1.0.1, 1.0.2, 1.0.3, 1.0.4, 1.1.0, 1.1.1, 1.1.2, 1.1.3, 1.1.4, 2.0.0rc1, 2.0.0rc2, 2.0.0, 2.0.1, 2.0.2, 2.0.3, 2.1.0, 2.1.1, 2.1.2, 2.1.3, 2.2.0, 2.2.1, 2.2.2, 2.2.3, 2.2.4) beacause it support only the above versiosn of flask

Hey,

If you’re encountering this issue, please simply update the Python version your Render service uses (see https://render.com/docs/python-version) with something that matches what you have locally. Flask 2.3.x dropped support for Python 3.7 which is what Render is using by default at the moment.

Regards.
Jérémy, Render Support

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.