Buildout 忽略 Github `find-links` 参考
我正在尝试让buildout使用我在github上特定的、修改过的包,但它似乎完全忽略了这个引用,而是选择了标准的PyPi模块。
这是我的buildout配置:
[buildout]
parts = foo
find-links = http://github.com/me/themodule/tarball/version#egg=themodule-version
versions = versions
eggs = ...
[versions]
themodule=version
[foo]
eggs =
${buildout:eggs}
themodule
我使用的是最新的zc.buildout
,版本是1.5.2,来自pypi。
我尝试过用http
和https
这两种链接(因为最近github有了变化)。这个链接是有效的,直接可以打开,所以我猜可能是我的配置有问题。我是不是漏掉了什么?
2 个回答
0
如果你只是想使用你自己修改过的包(同时在开发主包的时候也可以进行一些本地调整),我建议你使用一个非常棒的工具扩展 mr.developer。
你可以稍微修改一下你的 buildout.cfg
文件,这样在运行 ./bin/buildout
的时候就可以检出你修改过的扩展。如果你想的话,也可以指定一个特定的版本来检出(可以查看PyPI上的用户指南获取更多细节)。下面是你设置的基本框架:
[buildout]
parts = foo
extensions = mr.developer
auto-checkout = *
eggs = ...
[sources]
themodule = git git@github.com:me/themodule
[foo]
eggs = ${buildout:eggs}
themodule
5
确保你的版本号是独一无二的;如果你在 find-links
的网址中使用了和 PyPI 上相同的版本号,setuptools 会很高兴地从 PyPI 上抓取那个包,而不是你在 find-links
中指定的那个。
我们使用 {公司名}{计数器}
的格式来处理私有修改,所以一个版本 1.2.5
如果经过我们的修改,就会变成 1.2.5acme1
。之后的版本会更新计数器(比如 acme2
、acme3
等等),直到这个分支包的版本本身发生变化。可能还需要在 setup.py 中设置这个,因为其他工具可能会查询包的版本信息。