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。不过,您的供应商库不需要公开可用,因为它们只是与您的应用程序的其余部分一起推送。
我正在 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。不过,您的供应商库不需要公开可用,因为它们只是与您的应用程序的其余部分一起推送。