【问题标题】:unable to import pyodbc module in python azure function无法在 python azure 函数中导入 pyodbc 模块
【发布时间】:2020-01-08 05:30:18
【问题描述】:

我正在编写一个 python 天蓝色函数。为简单起见,我使用如下示例 python 函数。

我在我的 vscode 中开发了这个功能,并尝试在我的本地机器上测试它。天蓝色功能启动失败。它抛出错误说failed to import pyodbc

但是,当我将 import pyodbc 更改为 import pandas 或其他模块(如 sklearn、numpy 等)时没有问题。所以我很确定问题来自模块 pyodbc。

有人有同样的问题吗?如何解决这个问题?我不知道...非常感谢。

这是天蓝色的功能:

import logging
import azure.functions as func

# it works when I import other modules like pandas, sklearn, etc
import pyodbc


def main(req: func.HttpRequest) -> func.HttpResponse:
    logging.info('Python HTTP trigger function processed a request.')

    name = req.params.get('name')
    if not name:
        try:
            req_body = req.get_json()
        except ValueError:
            pass
        else:
            name = req_body.get('name')

    if name:
        return func.HttpResponse(f"Hello {name}!")
    else:
        return func.HttpResponse(
            "Please pass a name on the query string or in the request body",
            status_code=400
        )

这是我的要求.txt

azure-functions
pyodbc
#pandas
#numpy
#sklearn

【问题讨论】:

  • 您好zesla,您成功安装pyodbc模块了吗?您能否检查它是否存在于“.venv”->“Lib”->“site-packages”中?
  • 有文件夹调用pyodbc-4.0.28.dist-info,但没有文件夹调用pyodbc
  • 有趣的是我可以import pypyodbc。我可以将其用作解决方法。但为什么import pyodbc 不工作?好奇怪!
  • 真的很奇怪,请问你的python是什么版本的?
  • @Hury Shen 我的python版本是3.7.5 可能是python版本的原因?

标签: python azure azure-functions pyodbc


【解决方案1】:

从 OP 的 cmets 复制答案作为解决方法:

有趣的是,我能够导入 pypyodbc。我可以将其用作解决方法

这里有一个post 有类似的问题,通过安装一个较低版本的“pyodbc”来解决,供其他人参考。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-08-09
    • 2020-07-02
    • 2022-09-27
    • 2020-08-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多