首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有CiCd管道的Python函数: ModuleNotFound错误

带有CiCd管道的Python函数: ModuleNotFound错误
EN

Stack Overflow用户
提问于 2022-09-15 11:03:21
回答 1查看 142关注 0票数 1

你好,

在使用cicd管道部署azure函数时,我得到了一个错误。错误是ModuleNotFoundError: No module named 'azure.servicebus'.,但实际情况是,在cicd管道上构建包时已经安装了服务总线模块。

使用vscode或azure直接部署时,该函数应用程序运行良好,没有任何错误。

工作环境和功能应用程序python版本- 3.7 azure函数应用程序版本- 3.x cicd管道代理规范-ubuntu-最新的错误-

This error occurs when a function is executed. The function app was deployed using the CiCd pipeline and all dependencies are include in requirements.txt as shown below.

requirements.txt

这里是管道构建bash脚本

有人能帮忙吗?

EN

回答 1

Stack Overflow用户

发布于 2022-09-16 08:45:38

我可以复制你的问题:

我可以解决这个问题:

我知道你在做什么。创建虚拟环境、活动虚拟环境、将python包安装到虚拟环境中。

您提到了VS Code/CLI部署是没有问题的。

是的,正如您所观察到的,一切都应该成功地安装到虚拟环境中。

那么为什么?

原因是VS代码部署和CLI部署与虚拟环境没有任何关系,这些部署方法只关心requirements.txt文件,不检查其他文件。

而且,您所做的这些操作只在当前的代理机器上进行,而您部署到的azure函数应用程序则是另一种情况。这是一台新机器,一种新环境。

因此,您只需简单地设计如下的管道:

代码语言:javascript
复制
trigger:
- none
pool:
  VMAS
steps:
- task: AzurePowerShell@5
  inputs:
    azureSubscription: 'testbowman_in_AAD'
    ScriptType: 'InlineScript'
    Inline: 'func azure functionapp publish <Your FunctionApp Name> --build remote'
    azurePowerShellVersion: 'LatestVersion'

VS代码和CLI的工作原理

https://learn.microsoft.com/en-us/azure/azure-functions/functions-reference-python?tabs=asgi%2Capplication-level#remote-build

默认情况下,Azure函数核心工具在使用以下Functions函数应用程序发布命令将您的

项目发布到Azure时请求远程构建。用Azure中函数应用程序的名称替换。默认情况下,Visual代码的Azure函数扩展还请求远程构建。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73729962

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档