通过 setup.py 而不是通过 pip 安装时出现未知错误

UnknownExtra error when installing via setup.py but not via pip

我使用 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,但它们 apply/solve 不是我的问题。 ray 确实在 its setup.py.

中定义了额外的 rllib

知道如何解决这个问题吗?我很高兴为 ray.

贡献一个 patch/PR

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

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

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

改为使用以下内容:

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

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