在上传到 pypi 的包中不检查包要求是否已经安装,尽管从 github 安装相同的代码确实如此

In package uploaded to pypi not checking if package requirements already installed, though install of same code from github does

这是这个问题的后续

不知何故 pip 包无法检测到 cupy 已经安装,并尝试重新安装它。

给出的解决方案是使用

try:
  import cupy
except Exception:
  install_requires.append('cupy')

当我尝试通过 github 和

安装时,它起作用了

!pip 安装https://github.com/Santosh-Gupta/SpeedTorch/archive/master.zip

然而,当我通过代码上传到 pip 并尝试 运行 它时,它再次重新安装 cupy

!pip 安装 SpeedTorch

我正在使用 Goolgle colab,它已经安装了 cupy。为了方便起见,这里有一个link到我正在使用的笔记本

https://colab.research.google.com/drive/17KrdcHh29cpFMel_oYnOTkA1dNElolZ1

这是我的 setup.py 文件

https://github.com/Santosh-Gupta/SpeedTorch/blob/master/setup.py

这个问题可能是 cupy 独有的,因为我在其他 python 包中没有这个问题。

这不是 CuPy 特有的问题。如果您想将包作为轮子分发,则不应修改 setup.py 中的 install_requiressetup.py 构建 轮包时运行,而不是在 安装 时运行。换句话说,install_requires是根据cupy构建轮子包时是否可用来确定的。