在fnproject函数中包含自己的项目代码



我正在使用Fn Project作为Oracle云函数的一部分,我希望包含一些我自己编写的助手函数,这些函数目前在其他一些程序中使用。我希望包含这些函数,而不必将它们复制并粘贴到我的源代码中,我觉得有一种方法可以做到这一点,但我还没有找到。

以下是我的目录结构。为了更容易理解,已经更改了名称。

- helper
- foo.py
- other
- example.py
- functions
- myfunc
- func.py
- func.yaml
- requirements.txt

目前,在example.py中,我有以下内容:

from helper import foo
...
foo.bar() 

当我写func.py时,我也会写同样的东西,但当我运行fn deploy -app test_appfn invoke test_app myfunc时,它在import语句中出错(我运行了顶部有from helper import foo的基本hello-world函数:

Error invoking function. status: 502 message: function failed

我的第一反应是将helper放在requirements.txt文件中,但这只适用于pip包。如何确保包含我自己的代码?

任何帮助都将不胜感激!


更新

到目前为止,我唯一的解决方案是将代码复制并粘贴到源文件中,这不是很容易维护。

func.py中执行from helper import foo后,包括库导入在内的整个代码都将在func.py中执行。使用主目录中的命令pip freeze > requirements.txt,可以在requirements.txt中列出项目的所有依赖库。因此,当您创建docker映像时,它将安装requirements.txt中的所有内容。

相关内容

  • 没有找到相关文章

最新更新