0

这是对这个问题的跟进

安装带有 cupy 的 pip 包作为要求将安装置于永无止境的循环中

不知何故,一个 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

我正在使用已经安装了 cupy 的 Goolgle colab。为方便起见,这是我正在使用的笔记本的链接

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

这是我的 setup.py 文件

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

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

4

1 回答 1

2

这不是特定于 CuPy 的问题。如果你想将你的包作为一个轮子分发,你不应该修改install_requires。在构建一个轮子包时运行,而不是在安装它时运行。换句话说,是根据构建轮包时是否可用来确定的。setup.pysetup.pyinstall_requirescupy

于 2019-09-09T07:55:09.650 回答