安装python第三方私有库过程

因为阅读的论文的公开源码中有一个库是作者自己写的私有库,需要手动安装,出现了一下bug逐一解决最后安装成功,记录一下

私有库地址:GitHub - xwj01/CTLIB: A lib of CT projector and back-projector based on PyTorch

错误1:RuntimeError:Error comiling objects for extension

RuntimeError: Error compiling objects for extension

解决方法:这个多数方法需要重装pytorch,我按着私有库作者的环境要求更新到Pytorch1.10.1;

错误2:error: command '/usr/local/cuda/bin/nvcc' failed with exit code 1

出现这个错误是把 vs code 的觉得文件路径改到那个库文件的位置后在终端输入:python setup.py  install 后出现的;

解决方法:应该是一个总览的错误,需要查看编译过程,找出各个error逐一解决;

错误3:error: invalid static_cast from type ‘const torch::OrderedDict

解决方法:参考方法:【BUG】关于Pytoch中CUDA扩展的本地安装 - 知乎

找到anaconda3/envs/XXXX/lib/python3.7/site-packages/torch/include/torch/csrc/

api/include/torch/nn/cloneable.h  修改如下:

copy->parameters_.size() == parameters_.size()

copy->buffers_.size() == buffers_.size()

copy->children_.size() == children_.size()

修改为

copy->parameters_.size() == this -> parameters_.size()

copy->buffers_.size() == this -> buffers_.size()

copy->children_.size() == this -> children_.size()

错误4:Command '['ninja', '-v']' returned non-zero exit status 1

解决方法:参考文章subprocess.CalledProcessError: Command '['ninja', '-v']' returned non-zero exit status 1. - yunshangyue - 博客园

 将anaconda环境下的  lib/python3.5/site-packages/torch/utils/cpp_extension.py文件

将['ninja','-v']改成['ninja','--v'] 或者['ninja','--version']

错误5:error: call of overloaded ‘conv2d……

解决方法:应该是原始文件编译时出错;对照github上的代码后发现error定位到的位置代码有更新,下载github上面的代码并更新到文件;

错误6:error: c10_cuda.lib: No such file or directory

这是在解决错误5后出现的

解决方法:解决错误5后需要参照作者的安装说明将setup.py文件中的两行代码(那两行代码是在windows 环境下安装的,我是在服务器linux环境下需要删除);

最后大功告成,安装成功!!!

你可能感兴趣的:(python,深度学习,开发语言)