我有 Azure 函数应用程序,它是通过 Azure DevOps 中的管道部署的。部署完成后没有任何问题,但是当我导航到 Azure 门户中的应用程序时,在概述页面上我收到错误消息
Microsoft.Azure.WebJobs.Script: WorkerConfig for runtime: python not found.
运行时版本显示错误,而不是 Python 版本。
我做了什么:
az functionapp config set --name ${{ parameters.pyFuncAppName }} \
--resource-group ${{ parameters.resourceGroupName }} \
--linux-fx-version 'Python|3.10'
python --version
给出 Python 3.10.15
python
未找到命令python3 --version
给出 Python 3.9.2
<-- is this the root of the issue?不幸的是,这是一个客户端项目,一切都极其敏感,因此我无法发布管道代码或函数应用程序代码,但我很乐意在需要时提供说明。
我创建了一个带有运行时堆栈的 Python Azure 函数应用程序
Python 3.10
。请参阅博客。
在 KUDU SSH 和 App Host 中测试了 Python 版本。
KUDU SSH(Bash):
WEBSSH:
此行为不会影响函数应用的性能。
使用所需的Python版本创建虚拟环境。
pyvenv.cfg:
home = C:\Users\uname\AppData\Local\Programs\Python\Python310
include-system-site-packages = false
version = 3.10.9
executable = C:\Users\uname\AppData\Local\Programs\Python\Python310\python.exe
command = C:\Users\uname\AppData\Local\Programs\Python\Python310\python.exe -m venv C:\Users\uname\pyfn\env
在
Functions_Worker_Runtime= Python
中添加Azure FunctionApp=>Settings=>Environment Variables
:
将功能部署到Azure:
传送门: