如何链接到distutils中的分叉包,而不破坏pip冻结?

时间:2012-01-26 20:09:41

标签: python pip distutils

前言 官方python包python-openid(通过pypi.org分发)不适用于Google Apps。有人写了一个修复程序并将the patched source上传到github。现在我想创建一个应该链接到这个forked包的包。

现在安装这个包时,一切都很顺利。分叉包安装,一切都很好。但是,在执行pip freeze时,没有提到包来自何处。因为应该使用forked包,包括官方包中断部署。如何在我自己的包中链接到分叉包,并在pip freeze中列出分叉包?

更新

好的,所以我创建了代码2.2.5-bouke0,创建了一个分发版并将其上传到github。我的setup.py引用包现在看起来像这样:

dependency_links=[
    'http://github.com/Bouke/python-openid/downloads',
],
install_requires=[
    'python-openid == 2.2.5-bouke0',
],

在构建和安装此包时,一切都很好。引用的包从github下载并正确安装。但是,pip freeze未显示包来自何处:

django-federated-login==0.1.3
python-openid==2.2.5-bouke0

由于在pypi上找不到版本2.2.5-bouke0,因此部署此类requirements.txt将失败。如何指示pip freeze从哪里获取包来引用替代来源?

1 个答案:

答案 0 :(得分:1)

在存储库中创建一个标记2.2.5

-f https://github.com/adieu/python-openid/downloads放入requirements.txt文件。

确保将版本号更改为2.2.5-bouke1。有关详细信息,请阅读semver.org。