【已解决】使用TorchDrug时,ninja编译错误或找不到torch_ext

问题1:
c++: error: unrecognized command line option ‘-std=c++14’
ninja: build stopped: subcommand failed.

问题2:
ImportError: No module named ‘torch_ext’

我是首先出现第一个问题,采用下边第③种方案,然后提示问题2,没有解决,最后在看警告的时候,发现提醒GCC版本问题,所以就将服务器上的4.8升级到5.5,最终在服务器上执行py代码是ok的。另外,如果本地的Pycharm仍然不能用,需要配置下环境,参考方法④。

尝试过的方法:

①GCC安装,注意路径和环境设置好:

参考:
1.非root账号在没有权限的情况下升级GCC
2.【Linux】非root安装GCC9.1.0

②删除缓存:

rm -rf /home/your_user_name/.cache/torch_extensions

参考:1.TorchDrug的Github

③修改cpp_extension.py文件
就是说ninja版本跟不上torch,要将torch里面cpp_extension.py出现的[nvcc -v] 改为 [nvcc --version],搜一下,很多的。

④配置Pycharm里面的环境变量
设置的地方在Run -> Edit Configuration -> Environment ->Environment variables
参考:
1.pycharm ssh连接到远程服务器时报错
2.本地无法运行,需C++扩展库

⑤卸载重装:没啥用

记录一下,希望能帮助到需要的人。

你可能感兴趣的:(python,生物信息学,pycharm,python,ide)