这是一个类似于How can I make setuptools install a package that's not on PyPI?的问题,但并不相同。
由于我想使用一些包的分叉版本,setuptools忽略依赖关系链接(因为它具有相同的版本号)。
有没有办法强制使用依赖关系链接中的链接?或者是更改分叉repo中版本号的唯一方法?
requires = [
...
'pyScss==1.1.3'
...
dependencies = [
'https://github.com/nadavshatz/pyScss/zipball/master#egg=pyScss-1.1.3'
]
更新
奇怪的是,如果这个包是所需列表中唯一一个还没有安装的包,那么它显然可以工作。如果有另一个丢失的包,它将从pypi下载它。
我最后做了一些与stackoverflow.com/a/17442663/368102中的答案非常相似的事情。
我需要一个
requests-file
github包,该包的名称与PyPi中的另一个requests-file
包冲突。它们都有1.0版本,而PyPi版本有一些更高的版本。我的
ias_tools/setup.py
中的解决方法如下:在我的例子中,我使用的是
pip
,所以我还必须使用--process-dependency-links
:我不太担心不赞成的通知,因为a pull request was submitted to pip不赞成不赞成的通知(在discussion about it之后)。
我相信你可以使用这个问题中描述的
dependency_links
:使用
python setup.py develop
测试你可能想重新命名鸡蛋,以强调它是一个叉子http://www.python.org/dev/peps/pep-0386/
在setup.py之外,可以使用
requirements.txt
和pip
在本地强制执行此操作。虽然这不会使您的软件包依赖于fork,但您可以轻松地将其记录为安装方法。相关问题 更多 >
编程相关推荐