问题描述
我写了一个python包,可以做一些事情(具体无关紧要)。使用该软件包时,用户可以指定是否使用可用的GPU。在我的代码中,我使用CuPy软件包来利用可用的GPU。
我现在想分发该软件包-理想情况是使用setuptools打包,将其放在PyPI上,并让用户使用pip进行安装。
问题:
我希望无论是否有CUDA,都可以将其安装在系统 上。问题是,如果系统没有没有CUDA,CuPy的安装(以及导入)将失败。因此,我收集到该软件包需要两个单独的版本,一个支持CUDA(并导入CuPy等),另一个不支持。而且,我需要一些机制来在安装过程中选择合适的版本。
我希望找到一种工具,该工具将(在安装过程中)检查CUDA是否可用(或更实际地,是否可以安装CuPy),并据此选择我的软件包的正确版本下载并安装。
任何想法是否存在某种东西,如果不存在,那么以正确的方式实现它?
注意:我假设无论系统是否具有CUDA,我都可以在setuptools的依赖项中列出CuPy,并且假设没有,我的软件包可以捕获由于尝试而引起的任何异常安装/导入/使用它。但是我觉得这很野蛮,希望能找到更优雅的东西。
注意2 :当然,我可以让用户为他的系统选择正确的版本,但我宁愿不这样做。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)