CF Python 具有通用本地 python 模块的微服务应用程序

CF Python micoservices application(s) with common local python module(s)

我正在 python/flask 中编写一个 CF 微服务应用程序组。总共有6个申请。所有这些共享几个本地 python 模块。

我想不出一个合适的方法来管理这些模块,以便在应用程序的每个 'cf push' 上,我都包含这些模块的当前版本。

当然,我可以使用 'cf push' 的包装器将模块复制到 ./local/ 目录中。然而,这似乎有点骇人听闻。

我认为这不重要,但是,所有这些应用程序和模块都在一个 GitHub 存储库中。

快速更新:我目前正在 cf push 之前将模块目录复制到每个目录中,然后清理这些副本。这是一个 hack,但是,我必须获得这些应用程序 运行。我仍然很想听听任何人有更好的方法来处理这个问题。

如果您的 Python 库正在使用 setuptools,那么您应该能够 pip install 它。如果可以 pip install,那么您可以按照 Cloud Foundry 流程来“供应”您的依赖项。

Python buildpack 会将所有供应商的库合并到应用程序中,就像从 Internet 下载的其他库一样。参见 the docs for the process to vendor a library。不过,您的供应商库不需要公开可用,因为它们只是与您的应用程序的其余部分一起推送。