Windows下VS Code部署Python Azure Function问题咨询
Windows 10环境部署Python版Azure Function方案说明
核心结论先放前面:本地使用Windows 10系统完全可以完成Python版Azure Function的部署操作,你遇到的报错和本地操作系统无关,是云端部署目标的配置错误导致的。
报错根因
VS Code弹出的Python projects are not supported on Windows Function Apps. Deploy to a Linux Function App instead提示,指向的是你在Azure云端创建的Function App服务选择了Windows作为运行宿主,并非要求你把本地开发/部署用的电脑换成Linux系统。
微软官方的Azure Function运行时支持规则非常明确:
- Windows宿主的Azure Function仅支持C#、JavaScript/TypeScript、F#、Java、PowerShell等运行时,从v2版本运行时开始,就不再为Windows宿主提供Python运行时支持
- Python语言开发的Azure Function仅支持运行在Linux宿主的Function App上,这个限制只针对云端服务的运行环境,和你本地用什么系统发起部署没有任何关联
Win10环境下的具体部署步骤
全程不需要更换本地Win10系统,也不需要额外安装WSL,在现有VS Code环境中按以下操作即可完成部署:
- 新建Azure Function App资源时,在VS Code的Azure插件引导流程中,将Function App的宿主操作系统选择为Linux,运行时栈选择和你本地开发环境一致的Python版本,区域、定价层按需选择即可
- 云端资源创建完成后,直接按原有流程将Python项目部署到新建的Linux版Function App,不会再触发该报错
- 如果之前已经创建了Windows版的Function App,不需要对该资源做无效的配置修改,直接新建对应区域的Linux版Function App部署代码即可。Win10环境下用Azure Functions Core Tools完成本地调试、远程部署的全流程都可以正常运行,没有兼容性问题。
避坑提醒:不要被提示的字面表述误导,提示要求部署到Linux Function App,指的是替换云端运行的Function App宿主系统,不是替换你本地的开发部署系统。
内容的提问来源于stack exchange,提问作者Dmitry Gromov
相关产品推荐
相关产品推荐

