【问题标题】:UnknownExtra error when installing via setup.py but not via pip通过 setup.py 而不是通过 pip 安装时出现 UnknownExtra 错误
【发布时间】:2021-02-09 18:43:52
【问题描述】:

我使用ray[rllib] 作为我的 Python 包的依赖项。 通过pip install ray[rllib] 安装它可以正常工作。 但是在我的setup.py 中将ray[rllib] 列为依赖项,如下所示:

requirements = [
    'ray[rllib]==1.1.0',
# ...
}

在运行python setup.py develop时导致错误:pkg_resources.UnknownExtra: ray 1.1.0 has no such extra feature 'rllib'

我发现了一些相关问题,例如this,但它们不适用于/解决我的问题。 ray 确实在 its setup.py 中定义了额外的 rllib

知道如何解决这个问题吗?我很高兴为 ray 贡献补丁/公关。

目前,我唯一的解决方法是首先通过pip 手动安装ray[rllib],然后使用python setup.py install 手动安装我的包的其余依赖项。但这并不好。

【问题讨论】:

  • 你最终弄明白了吗? - 看起来我无法重现这个问题。需求符号似乎是正确的。 -- 等等,看来我可以重新创建问题了...

标签: pip setuptools setup.py python-packaging ray


【解决方案1】:

现在的一般建议(来自 setuptools 维护者自己)是停止使用:

  • python setup.py install
  • python setup.py develop

改为使用以下内容:

  • python -m pip install .
  • python -m pip install --editable .

但老实说,我有点惊讶这里的事情失败了。我不知道 setuptools 到底出了什么问题,以及为什么 python setup.py develop 在这里失败。

【讨论】:

  • 那么pip install --editable . 适合你吗?我也会检查一下并告诉你。
  • 是的,pip 对我有用。使用python setup.py develop 时,我能够重现该问题,但使用python -m pip install --editable . 时却永远无法重现。
猜你喜欢
  • 2021-01-18
  • 2014-05-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-02-18
  • 2021-03-21
相关资源
最近更新 更多