Edd*_*die 8 python amazon-web-services amazon-elastic-beanstalk
我有两个python项目共享一些公共库,所有这些都组织成三个git存储库:project1,project2和common-lib.这两个项目都是为了部署到与common-lib捆绑在一起的弹性beanstalk.
我正在尝试找到构建这些项目的最惯用的方法,以便在本地开发,并使用eb deploy构建zip文件以进行部署.
为本地开发设置一切很容易.只需检查每个repo并python setup.py develop在common-lib中执行以使virtualenv中的公共库可用.
对于EB部署,最好有一个setup.py命令,它生成一个包含项目的EB兼容zip文件,以及带有requirements.txt文件的common-lib,该文件列出了两者的pip依赖关系.我还没有找到一个简单的方法来做这个有点令人惊讶,因为我想这是一个相当常见的情况.
我无法在project1或project2的requirements.txt文件中为common-lib指定git存储库,因为无法从AWS访问存储库.
对我来说,正确的方法是从公共库创建一个 python 包,将其发布到私有 pypi 服务器,例如https://gemfury.com/l/pypi-server。将其作为 python 包的 requests.txt 中的参考。
另一个解决方案是将 common-lib 作为 git 子模块包含https://git-scm.com/docs/git-submodule。这样您就可以进行分离,因为它将存在于一个单独的存储库中,并且您将在项目中获得一个简单的引用作为 git 子模块。
| 归档时间: |
|
| 查看次数: |
332 次 |
| 最近记录: |