在我的组织中,我们有几个内部开发的 Python 包。为了举例,我们将它们称为 Foo 和 Bar。两者都是在单独的 Git 存储库中开发的。 Foo 是一个 Pylons 应用程序,它使用 Bar 中的某些库函数。两者都没有公开分发。
当我们部署 Foo 时,我们通常会从源代码管理中导出最新版本,并在 virtualenv 中运行 setup.pydevelopment
。这工作正常。
问题是我们需要某种方式为部署 Foo 的每个环境分发 Bar。显然我们不能将“Bar”放入setup.py的install_requires中(因为easy_install无法在任何网站上找到它)。我找不到任何自动获取/安装私有(private)开发依赖项的方法。
有没有更简单的方法来管理这个?我觉得我错过了 Python 打包和分发的重点。
最佳答案
您可以创建包存储库。步骤基本上是:
- 使用setup.py bdist_egg创建一个egg
- 将创建的egg从dist复制到Apache提供的目录
- 使用 -f 开关将 Apache 公开的目录的 URL 添加到 easy_install 命令
请注意,Apache 不一定是必需的,但它会自动生成 easy_install 可以处理的目录列表。
如果您使用构建,则有一些配置选项可以执行与 -f 相同的操作,并且我很确定您也可以在 pip 中使用某些功能。
关于python - 具有私有(private)开发的依赖项的 Pylons 应用程序部署,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4005009/