有没有办法在安装附加软件包时自动处理依赖关系链接,而不必像--process-dependency-links
那样调用install_requires
?
pip install -e .[extra] --process-dependency-links
我需要这个,因为依赖项只位于私人git仓库。
是否可以使用python setup.py install
安装附加内容?
{@ 1}}是否仍被视为已弃用?我不确定这里的状态。
答案 0 :(得分:2)
我搜索的时间太长了,以至于无法找到setup.cfg的方法,因此希望这对其他人有帮助,如果他们不想使用OP未指定的setup.py的话。我还为install_requires提供了一个自定义URL,这也需要花费一些时间。
#setup.cfg (only showing relevant parts)
[options]
install_requires =
pyyaml @ git+https://github.com/yaml/pyyaml.git@master
[options.extras_require]
jsonschema = jsonschema @ git+https://github.com/Julian/jsonschema.git@v3.2.0
six = six
pip install -e .[jsonschema]
将为您提供带有自定义URL的附加功能,或者pip install -e .[jsonschema,six]
将为您提供两个附加功能(请注意,.
后或逗号中的逗号周围没有空格。附加功能列表)。python setup.py install
安装其他功能。--process-dependency-links
仍然被弃用,但是只要知道语法,上面的内容就足够了。答案 1 :(得分:1)
--process-dependency-links
,则不再需要extras_require
。已通过pip版本19.3.1测试
示例:
$ pip install -e .[graphs]
# setup.py
from setuptools import setup
setup(
name='myservice',
version='0.1.0',
install_requires=[
'requests',
],
extras_require={
'graphs': [
'graphcommons @ git+ssh://git@github.com/graphcommons/graphcommons-python@master',
],
},
)
通过使用ssh协议(而不是https)访问git repo,您可以从私有存储库进行安装。
不确定python setup.py install
,但pip install .[extras]
应该足够好吗?
是的,在pip版本19中。