我正在尝试使用Azure功能运行python脚本。 我成功更新了python版本并在App Services计划下的Azure功能上安装模块,但我需要在消费计划下使用它,因为我的脚本每天只执行一次,只需几分钟,所以我只想支付执行的时间。请参阅:https://azure.microsoft.com/en-au/services/functions/
现在我还是新手,但根据我的理解,消费计划会在你的脚本执行后终止vm并终止它,而不像App Service计划那样。 我不确定为什么这意味着我无法在其上安装任何东西。我认为这只是意味着我必须在每次旋转时安装它。
我尝试通过python脚本本身和kudu命令行安装模块但没有成功。
根据应用服务计划,这很简单,遵循本教程:https://prmadi.com/running-python-code-on-azure-functions-app/
答案 0 :(得分:35)
关于功能消费计划,Kudu扩展不可用。但是,您可以更新pip以便能够正确安装所有依赖项:
你的shell现在应该以(myvenv)
作为前缀现在在Azure门户中,在脚本中更新sys.path以添加此venv:
preds = model.predict(x)
for cls in training_generator.class_indices:
print(cls+": "+preds[0][training_generator.class_indices[cls]])
你现在应该可以开始你想要的了。
(参考:https://github.com/Azure/azure-sdk-for-python/issues/1044)
编辑:阅读以前的评论,看来你需要numpy。我刚刚测试了,我能够安装1.12.1而没有任何问题。
答案 1 :(得分:3)
您可以在消费计划中上传您选择的Python版本的模块。请参阅此链接上的说明:https://github.com/Azure/azure-webjobs-sdk-script/wiki/Using-a-custom-version-of-Python
答案 2 :(得分:0)
这对我有用:
Dislaimer:我使用 C#功能,包括 Python 脚本执行,使用
System.Diagnostics.Process
类的命令行。
从Azure门户添加Azure功能的相关Python扩展:
平台功能 - >开发工具 - >扩展强>
它将python安装到D:\home\python364x86
(从Kudu控制台看到)
添加名为 WEBSITE_USE_PLACEHOLDER 的应用设置,并将其值设置为 0 。这是解决Azure函数问题所必需的,该问题会导致Python扩展在卸载函数应用程序后停止工作 请参阅:Using Python 3 in Azure Functions问题。
使用pip install ...
从Kudu CMD线路控制台安装软件包
(在我看来是pip install pandas
)