setup.py 中 extras_require 的依赖链接
Dependency links for extras_require in setup.py
有没有办法在安装带有 extras 的包时自动处理依赖链接,而不必像 install_requires
那样调用 --process-dependency-links
?
pip install -e .[extra] --process-dependency-links
我需要它,因为依赖项仅位于私有 git 存储库中。
是否可以使用 python setup.py install
安装附加功能?
是否仍要考虑 --process-dependency-links
,因为它已被弃用?我不确定这里的状态。
- 是的,如果您使用
extras_require
,则不再需要 --process-dependency-links
。
使用 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 存储库,您可以从您的私有存储库进行安装。
不确定 python setup.py install
但 pip install .[extras]
应该足够好?
是的,在 pip 版本 19 中。
我搜索了太长时间无法弄清楚如何使用 setup.cfg 执行此操作所以希望这会帮助其他人,如果他们不想使用 setup.py 因为 OP 没有指定.我还为 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
仍然被弃用,但是一旦你知道语法,上面的内容就足够了。
有没有办法在安装带有 extras 的包时自动处理依赖链接,而不必像
install_requires
那样调用--process-dependency-links
?pip install -e .[extra] --process-dependency-links
我需要它,因为依赖项仅位于私有 git 存储库中。
是否可以使用
python setup.py install
安装附加功能?是否仍要考虑
--process-dependency-links
,因为它已被弃用?我不确定这里的状态。
- 是的,如果您使用
extras_require
,则不再需要--process-dependency-links
。
使用 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 存储库,您可以从您的私有存储库进行安装。
不确定
python setup.py install
但pip install .[extras]
应该足够好?是的,在 pip 版本 19 中。
我搜索了太长时间无法弄清楚如何使用 setup.cfg 执行此操作所以希望这会帮助其他人,如果他们不想使用 setup.py 因为 OP 没有指定.我还为 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
仍然被弃用,但是一旦你知道语法,上面的内容就足够了。