【问题标题】:Download MongoKit "devel" branch from Git using Buildout?使用 Buildout 从 Git 下载 MongoKit“开发”分支?
【发布时间】:2011-09-22 15:59:30
【问题描述】:

任何使用 buildout 从 Git 中的特定分支下载 tarball 到我的 egg 目录的可靠示例?

我尝试过的所有答案似乎都是从 PyPi 中获取版本。

我正在尝试获取 MongoKit 的开发分支...(http://github.com/namlook/mongokit/tarball/devel#egg=mongokit)作为 tarball...

谢谢。

【问题讨论】:

    标签: python buildout pypi mongokit


    【解决方案1】:

    您可以通过添加指向项目 tarball URL 的 find-links url 和 #egg=packagename 后缀来添加托管在 git-hub 上的任何 python 包。正如您已经发现的那样,对于 mongokit 来说:

    http://github.com/namlook/mongokit/tarball/devel#egg=mongokit
    

    您可以向该 URL 添加一个版本号,以便为构建提供一个比 PyPI 上的 URL 更喜欢 github URL 的理由。当版本号匹配时,这是需要的,在回答时 mongokit 就是这种情况。版本附加了一个破折号:

    http://github.com/namlook/mongokit/tarball/devel#egg=mongokit-0.6yourmarker1
    

    我在版本号和计数器上添加了一个标记;添加标记意味着 github 版本将被视为比在 PyPI 上找到的版本更新,但如果发布了 0.7,它将是更新的版本。你可以把yourmarker做你喜欢的任何东西,如果你需要从github获取最新的更改,你可以升级号码(否则鸡蛋将被缓存在本地)。

    我还会将该版本固定在构建中。

    所以一个简单的扩展是:

    [buildout]
    parts = whatever
    find-links =
        http://github.com/namlook/mongokit/tarball/devel#egg=mongokit-0.6yourmarker1
    eggs = mongokit
    versions = versions
    
    [versions]
    mongokit = 0.6yourmarker1
    

    从那里开始,您可以使用 mongokit 作为 setuptools 依赖项 (install_requires=['mongokit'])。

    【讨论】:

    • 这是我最初尝试过的,但我一直在获取 PyPi 版本。是否有任何冲突(其他查找链接、顺序等)?
    • 是的,我现在看到 tarball 版本等于在 PyPI 上找到的版本。我将更新我的答案以提供解决方法。
    • 好吧,似乎越来越远了。我在 MongoKit 中看到了我正在寻找的行,但是我在运行 buildout 之后遇到了冲突错误:安装 mongokit 0.6dev 导致安装了一个发行版:mongokit 0.6 with a different version。同时:安装金字塔。错误:存在版本冲突。我们已经有了:mongokit 0.6
    • 我想我明白了!在我的版本下需要“mongokit >= 0.6dev”。
    【解决方案2】:

    在您的 buildout.cfg 中尝试以下操作

    [mongokit]
    recipe = zerokspot.recipe.git
    repository = git://repopath/mongokit.git
    branch = devel
    as_egg = true
    

    文档是here.

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-12-04
      • 1970-01-01
      • 2019-06-06
      • 2013-10-12
      • 1970-01-01
      • 2012-09-30
      • 1970-01-01
      相关资源
      最近更新 更多