我将Azure Function应用程序托管在Basic层的应用程序服务计划中。我将函数从本地VSCode上传到Azure门户。函数在Azure门户中可见并启用。然后我将Python venv安装在函数根文件夹中(在门户中使用SSH),接下来我安装了与此函数相关的所有依赖项。(由TimeTrigger触发)它返回特定的模块“is not found”。我需要做什么才能让这个函数正常工作?
我在Azure Portal中的函数容器中的SSH端采取的步骤:
1.设置虚拟环境(venv):python -m venv myenv
1.激活虚拟环境:source myenv/bin/activate
1.在此venv中安装目录:pip install --target=<path-to-site-packages> -r requirements.txt
1.验证重复性:pip list
上面的所有步骤都正确执行,本地环境和venv之间的Python版本是相同的,我重新启动了函数,不幸的是,在__init__.py
中导入的Python模块不可见/下载。
我描述了我尝试的步骤。我希望正确运行函数应用程序的所有依赖项。
2条答案
按热度按时间8nuwlpux1#
requirements.txt
文件。requirements.txt
是一个简单的文本文件,用于指定Azure函数所需的Python包。部署Azure函数时,requirements.txt
文件中列出的包将自动安装在该函数的环境中。我在本地创建了一个简单的python Azure函数:
项目结构:
的数据
要求.txt:
我在我的项目中使用了以下软件包:
字符串
程式码片段:
型
的
在本地运行:
的
的
Python Lunix Azure Function App with App Service Plan Basic tier
。已将我的函数部署到Azure函数应用程序:
的
requirements.txt
中提到的依赖项。门户响应:
型
型
avkwfej42#
我解决了它,它是两个问题:
1.网络与存储的问题-我添加了VNet和特殊配置的防火墙和它的作品。
1.所以问题是,在主python文件中,我有“import python cio”-这对Azure来说是个问题,因为“python cio”已经是Python中的内置包,因此它返回了与“Module Not Found”相关的错误