前言 官方python软件包python-openid
(通过pypi.org分发)不适用于Google Apps。有人为此写了一个修正,并将the patched source上传到github。现在我想创建一个应该链接到这个分叉包的包。如何在distutils中链接到分叉包,而不会破坏点冻结?
现在安装这个软件包时,一切都很好。分叉的软件包已安装,一切都很好。但是,在执行pip freeze
时,没有提及包的来源。由于应该使用分叉包,包括正式的包间隔部署。我如何链接到我自己的包中的分叉包,并在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
由于版本2.2.5-bouke0
不能PyPI上发现,这样的requirements.txt
将失败的部署。我如何指示pip freeze
引用从哪里获得包裹的替代来源?
啊; '--find-links'指令应该包含在需求文件中,这样pip也会在那个URL中寻找下载。有关[要求文件格式]的更多信息(http://www.pip-installer.org/en/latest/requirements.html#indexes-find-links)。 – bouke
顺便说一句,你可以用'-r'选项来做同样的事情,以获得需求文件的某种继承。例如,通常我创建'requirements/base.txt','requirements/production.txt'和'requirements/development.txt'。最后两行在第一行有'-r base.txt'。 –