将Python包导入Azure功能需要很长时间

时间:2017-09-22 10:46:30

标签: python-2.7 azure azure-functions

在我的Azure功能中,我安装并导入一些包,例如:cv2,numpy,azure,pydocumentdb。我计算了导入这些库所需的时间,大概是20秒。

原因是什么?你对此有什么解决方案吗?我使用的是Python 2.7。

谢谢。

2 个答案:

答案 0 :(得分:0)

这是python包的一个已知问题 - 有关更多详细信息,请参阅此github问题:https://github.com/Azure/azure-webjobs-sdk-script/issues/1626

答案 1 :(得分:0)

根据我的经验,当您将软件包安装并导入Azure Fuctions时,您需要花费的时间。

这是合乎逻辑的,因为包中的文件可能包含装饰器,库调用,内部常量等。因此,如果在模块中编写程序或导入大量{{}}时,可能需要很长时间。你的包裹中有{1}}。

此外,虽然代码本身未执行,但additional libraries将分析Azure功能中的功能。它会将源代码转换为语法树并进行一些分析(哪些变量是本地的等等)。

您还可以注意到一个包通常有一个interpreter文件,用于初始化包。该文件也被执行,也可能需要相当长的时间。例如,某些具有数据库连接的软件包已经建立了与该数据库的连接,并且在数据库响应连接之前可能需要一些时间。