[010] Ubuntu使用conda安装Pytorch,报错 PermissionError 和 ModuleNotFoundError: No module named conda

我的cuda版本为10.1,按照常规教程到Pytorch官网选择好版本之后,使用conda命令安装:

conda install pytorch torchvision cudatoolkit=10.1 -c pytorch

但是遇到两个问题:

1. Pytorch的下载安装需要访问anaconda文件夹,但anaconda文件夹默认加锁,所以导致Pytorch安装失败,报错信息如下:

...
PermissionError: [Errno 13] Permission denied: '/home/yhx/anaconda3/.condatmp'
...

An unexpected error has occurred. Conda has prepared the above report.
If submitted, this report will be used by core maintainers to improve
future releases of conda.

解决方法是将anaconda的权限加入我的用户及其用户组中:

sudo chown -R yhx:yhx /home/yhx/anaconda3/

更改权限后就可以成功安装:

Preparing transaction: done
Verifying transaction: done
Executing transaction: done

(base) yhx@yhx:~/app$ 

2. 安装完Pytorch后打开新的终端,发现报错ModuleNotFoundError: No module named 'conda',信息如下:

Traceback (most recent call last):
  File "/home/yhx/anaconda3/bin/conda", line 12, in <module>
    from conda.cli import main
ModuleNotFoundError: No module named 'conda'

而且python版本也莫名其妙从3.7变为了3.6,我猜测Pytorch将anaconda的一些默认配置修改。

我尝试卸载很多次anaconda,都没有解决。后来的解决方式是:离线安装Pytorch。

方法如下:

① 到清华镜像中按自己所需版本下载Pytorch和Torchvision:

https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/linux-64/

② 在离线包路径下打开终端,分两步安装:

yhx@yhx:~/app$ conda install pytorch-1.4.0-py3.7_cuda10.1.243_cudnn7.6.3_0.tar.bz2 
Downloading and Extracting Packages
######################################################################## | 100% 
Preparing transaction: done
Verifying transaction: done
Executing transaction: done

(base) yhx@yhx:~/app$ conda install torchvision-0.5.0-py37_cu101.tar.bz2 
Downloading and Extracting Packages
######################################################################## | 100% 
Preparing transaction: done
Verifying transaction: done
Executing transaction: done

3. 测试anaconda是否健全:

yhx@yhx:~$ conda -V
conda 4.5.11

yhx@yhx:~$ which python
/home/yhx/conda/bin/python

yhx@yhx:~$ which ipython
/home/yhx/conda/bin/ipython

4. 测试pytorch是否顺利安装:

yhx@yhx:~$ python
Python 3.7.0 (default, Jun 28 2018, 13:15:42) 
[GCC 7.2.0] :: Anaconda, Inc. on linux
Type "help", "copyright", "credits" or "license" for more information.

>>> import torch
>>> print(torch.cuda.is_available())
True
>>> 

5. 题外话:

废了九牛二虎之力安装Pytorch和Tensorflow,但在后续使用过程中,使用conda命令安装了一个VS coda的python插件,导致python版本莫名其妙升级为3.8,进而报错ModuleNotFoundError: No module named 'conda',Pytorch和Tensorflow又都无法使用,无奈又全部重装了一遍。

后来那个插件我没使用conda方式安装,而是使用pip安装,没在出错。

所以个人建议,慎用conda命令,能用pip就用pip。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值