Azure Linux Python Webapp ImportError:libodbc.so.2无法打开共享对象文件



构建了一个flask应用程序,当我在本地运行它时(Windows 10(。通过本地git部署是成功的,但当我尝试访问url时,我看到的都是ApplicationError。因此,当我检查日志流时,它显示应用程序在尝试导入pyodbc时出现故障,并显示错误"ImportError libodbc.So.2:无法打开共享对象文件">

所以我SSH进入容器,激活虚拟环境,调用openpython,调用import-pydbc,它就工作了。现在我很困惑,为什么当我尝试访问URL时它会失败,而当我自己SSH并导入pyodbc时它会工作。我不确定我是否提供了足够的细节,所以请告诉我是否应该添加其他内容。

发生了什么事?我如何修复我的容器,以便它可以导入pyodbc?

@user152836-您能告诉我们以下信息以进一步调试吗:

  1. 您在web应用程序中使用的python版本?原生还是扩展
  2. 你的网络应用程序的操作系统

如果您安装了python扩展,问题可能是azure web应用程序使用了默认的python,而该python没有pyodbc驱动程序。为了使用python扩展,你可以按照这个线程安装odbc驱动程序到azure应用程序服务

您还需要导出相关的LDLIBRARY路径,并将其添加到bash配置文件中,如下例所示:Python可执行文件找不到libpython共享库

如果以上两个建议不起作用,您也可以查看以下链接:pyodbc-在容器中运行应用程序时出错