如何将自定义轮文件安装到天蓝色函数中?
Posted
技术标签:
【中文标题】如何将自定义轮文件安装到天蓝色函数中?【英文标题】:How to install an custom wheel file into azure functions? 【发布时间】:2022-01-21 12:42:59 【问题描述】:我有一个天蓝色的功能。我想在函数中安装一个 python 外部***文件。在本地,我使用 pip install 安装。我尝试将文件放在 python 包中并尝试使用 requirements.txt 文件进行安装,但没有部署该函数。
【问题讨论】:
【参考方案1】:您可以按照以下步骤将外部滚轮安装到 azure 函数中:
来自azure python function 的这个 github 示例。
您可以向https://function app name.azurewebsites.net/api/function name
发出HTTP 请求,并在克隆后测试上述示例输出。
我们可以使用pip 在我们的 Azure 环境中安装我们的模块。
我们需要两个库,pycrypto 和 hdfk。 Microsoft 有一个 doc,关于如何在本地 Windows 环境中编译模块。按照这些说明生成您在接下来的步骤中需要的 pycrypto ***。
要告诉 pip 要安装什么,我们需要将 requirements.txt 文件添加到我们项目的根目录和已编译的***。
这是需求文件的样子。
--find-links wheelhouse
pycrypto==2.6.1
hkdf==0.0.3
而且更新后的项目结构现在看起来有点像这样
.
+--EDIGenerator
+--function.json
+--run.py
+--lib
+--AzureHTTPHelper.py
+--wheelhouse
+--pycrypto-2.6.1-cp27-none-win32.whl
.gitignore
host.json
README.md
requirements.txt
同时更新 run.py 以包含生成 eid 的代码,您可以在此处查看实现:https://github.com/myquay/Sample.Azure.Functions.Python/blob/master/EDIGenerator/run.py
注意:在 Azure 中,我们将在 virtual environment 中安装所有这些模块。
所以 Python 知道要从这个位置导入我们的库,请确保在导入这些库的任何文件中都有 sys.path.append(os.path.abspath(os.path.join(os.path.dirname( __file__ ), '..', 'env/Lib/site-packages')))
。_
我们将手动运行我们的 Kudu 脚本:
通过单击“功能应用设置”下的“转到 Kudu”按钮打开 kudu。
导航到您的函数文件夹cd D:\home\site\wwwroot
设置你的python虚拟环境,python可执行文件只是安装在正常的地方。 D:\Python27\Scripts\virtualenv.exe env
激活你的虚拟环境"env/Scripts/activate.bat"
从 requirements.txt pip install -r requirements.txt
安装
注意:*如果您收到错误“Unable to find vcvarsall.bat”
,则表示您上传的***不兼容。确保为正确版本的 Python 编译***
【讨论】:
谢谢,但我想安装一个自定义的 Wheel 文件以及如何在 azure 函数中安装该文件。你能帮我吗?以上是关于如何将自定义轮文件安装到天蓝色函数中?的主要内容,如果未能解决你的问题,请参考以下文章
如何将自定义挂钩添加到 Woocommerce 的自定义插件
如何将自定义对象的集合存储到 user.config 文件中?