starting today, we are experiencing a strange issue with our Azure Functions configured to run on Python 3.7.
I have a Function App configured to run on a dedicated App Service Plan for Linux. This Function App is configured to run on Python 3.7 (I even checked in the resource configuration). We have deployed our code using the Run From Package method and therefore pre-compile the requirements ourselves with Python 3.7.
For some reason, irregardless of the configured runtime version for the function, our functions will be started using Python 3.6. Whenever I run a function inside my Function App, the actual python code will get executed using Python 3.6. This leads to all kind of issues since we compile our packages using 3.7.
The first step I tried was to use the remote build option to deploy my function. I tried the following:
func azure functionapp publish my-awesome-function --build remote
What then happens is that Oryx will try to build my app but again uses Python 3.6 to do so. It even warns me that I am using an outdated version:
Warning: An outdated version of python was detected (3.6.10). Consider updating.\nVersions supported by Oryx: https://github.com/microsoft/Oryx
What I have also tried was:
If I now go to "Configuration" in the Function App blade on the Azure Portal, my Stack Settings (under General settings) are Python and Python 3.7. I'd assume these coincide with the version of Python that the Function App should use.
I created a new Function App and specified Python 3.7 as the runtime version during the creation. I had the same problem again.
Is this a problem with the platform right now? Am I doing something wrong?
Thank you for your help