Azure Function Python 模块兼容性问题

Azure Function Python Module compatibility issue

我正在使用 Python 开发 Azure 函数。此函数将一些数据写入 blob 存储。此函数依赖于几个 azure 模块。

  1. azure-functions
  2. azure-storage-blob
    问题是:尽管函数已正确安装并在函数虚拟环境中可用,但该函数无法检测到库。 另外,我观察到如果我安装第一个 azure-functions 然后安装 azure-storage-blob 然后导入语句 from azure.storage.blob import BlobClient 无法检测到模块但是 import azure.functions as func 会工作,但是如果我互换安装顺序然后 import azure.functions as func 将被检测到,但 from azure.storage.blob import BlobClient 仍然无法识别并将错误显示为 Import "azure.storage.blob" could not be resolved Pylance (reportMissingImports)。很明显是模块版本冲突
    我不确定我应该使用哪个版本因此寻求社区战士的帮助。谢谢!
    注意:我正在使用 python 3.8.2 进行开发。

由于虚拟环境配置和模块未安装在正确的文件路径中,您可能会遇到此问题。

检查要点:

  1. 确保您的虚拟环境处于活动状态。有关如何激活虚拟环境的更多信息,您可以参考 How to Create virtual environment in Python

  2. 所有模块都需要安装到 < Your_Virtual_Environment>/lib/site-packages 目录。

  3. 确保将 pip 升级到最新版本 python -m pip install --upgrade pip

  4. 如果您收到以下建议,请尝试接受,这样您就可以避免上述步骤,只需将 pip 升级到最新版本并安装 azure-blob-storage.

按照上述步骤后,我们可以同时使用 import azure.functions as funcfrom azure.storage.blob import BlobClient

不要手动一一安装模块。
应用以下步骤:

1)删除现有的虚拟环境。
2)创建一个新的虚拟环境。
python -m venv C:\Users\UserName\FunctionApp\.venv
3)可能需要启用激活。ps1(VS Code 更新虚拟环境路径本身)
& c:/Users/UserName/FunctionApp/.venv/Scripts/Activate.ps1
4) 将模块的详细信息放在 requirements.txt 文件中。
5) 调试或 运行 代码。此过程本身下载必要的包。

现在一切就绪。每个导入语句都能够检测到相应的模块。