Skip to main content
 首页 » 编程设计

python之如何在不破坏 pip freeze 的情况下链接到 distutils 中的 fork 包

2025年05月04日9luoye11

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

现在安装这个包时,一切都很好。 fork 包已安装,一切正常。但是,在执行 pip freeze 时,没有提及包的来源。由于应使用 fork 包,包括官方包中断部署。如何在我自己的包中链接到 fork 包,并在 pip freeze 中列出 fork 包?

更新

好的,所以我创建了标签 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 引用从何处获取包的替代源?

请您参考如下方法:

在存储库中创建一个标签 2.2.5。

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

可以肯定的是,将版本号更改为类似 2.2.5-bouke1 的内容。阅读 semver.org 了解详情。