我正在创建一个模块,需要准备我的setup.py
文件以满足一些要求。其中一个要求是已经在PyPI中的一个包的fork,所以我想直接引用我的GitHub存储库。
我尝试了两种配置,第一种是:
setup(
'name': 'mymodule',
# other arguments
install_requires=[
'myrequirement', # The dependency name
],
dependency_links=[
'https://github.com/ihhcarus/myrequirement.git#egg=myrequirement', # This is my repository location
]
)
我使用python setup.py sdist
创建了我的模块的本地发行版,当我运行pip install path/to/module/dist/mymodule-0.1.tar.gz
时,它最终在PyPI而不是我的存储库上安装版本。
另一个配置,我试图更改需求名称以强制搜索依赖关系链接,如下所示:
setup(
'name': 'mymodule',
# other arguments
install_requires=[
'myrequirement_alt', # The dependency name with a suffix
],
dependency_links=[
'https://github.com/ihhcarus/myrequirement.git#egg=myrequirement_alt', # This is my repository location
]
)
但有了这个,我最终得到的错误是找不到myrequirement_alt
......
所以我问,在不使用PyPI的情况下实现这一目标的正确方法是什么?
答案 0 :(得分:2)
要使依赖关系链接起作用,您需要将包的版本号添加到https://github.com/ihhcarus/myrequirement.git#egg=myrequirement_alt
。
或者它不知道要安装什么。
e.g:
setup(
'name': 'mymodule',
# other arguments
install_requires=[
'myrequirement', # The dependency name
],
dependency_links=[
'https://github.com/ihhcarus/myrequirement.git#egg=myrequirement_alt-1.3' # Link with version at the end
]
)
请注意,我不推荐使用依赖关系链接,因为它们已被弃用。相反,您应该使用需求文件。