【问题标题】:Dependency links for extras_require in setup.pysetup.py 中 extras_require 的依赖链接
【发布时间】:2017-04-22 22:29:04
【问题描述】:
  1. 有没有办法在安装带有附加功能的包时自动处理依赖链接,而不必像install_requires 那样调用--process-dependency-links

    pip install -e .[extra] --process-dependency-links
    

    我需要这个,因为依赖项仅位于私有 git repo 上。

  2. 是否可以使用python setup.py install 安装附加功能?

  3. --process-dependency-links 是否仍被视为已弃用?我不确定这里的状态。

【问题讨论】:

  • 你有想过这个吗?
  • @chishaku 不是真的...但是鉴于 pyproj.toml 和新 pip 目前正在发生的一切,我们可能会有一些运气!
  • 我想我确实做到了。将添加一个答案。

标签: python pip setuptools setup.py


【解决方案1】:

我搜索的时间太长,无法弄清楚如何使用 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
  1. pip install -e .[jsonschema] 将通过自定义 URL 为您提供额外服务,或者 pip install -e .[jsonschema,six] 将为您提供两个额外服务(请注意,. 之后或额外服务列表中的逗号周围没有空格)。
  2. 据我所知,您无法使用 python setup.py install 安装附加组件。
  3. 是的,--process-dependency-links 仍然被弃用,尽管有很多抱怨,但只要您知道语法,上述内容就足够了。

【讨论】:

    【解决方案2】:
    1. 是的,如果您使用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 repo,您​​可以从您的私有 repos 安装。

    1. 不确定python setup.py installpip install .[extras] 应该够用吗?

    2. 是的,在 pip 版本 19 中。

    【讨论】:

      猜你喜欢
      • 2017-04-26
      • 1970-01-01
      • 1970-01-01
      • 2019-12-18
      • 2018-03-01
      • 2020-10-24
      • 1970-01-01
      • 2019-05-02
      • 2017-05-07
      相关资源
      最近更新 更多