Anaconda+pytorch+cuda安装全流程介绍|常见问题解决|conda与pip|pycharm配置

3 个月前

前几天闲来无事想要重新整治一下自己之前配置的乱糟糟的环境,于是直接卸载了Anaconda,真是一身轻松,但还得配置环境不是~重新进行配置的时候出现了挺多问题,比较麻烦,所以这里记录一下。

下载安装Miniconda/Anaconda

两者的下载安装过程没有什么区别。

区别在于Anaconda安装后会附带很多内容,省去安装一些常见包的麻烦,同时对于一些人来说也会显得比较臃肿(比如我)。

而Miniconda只包括了conda和python,内容简洁,但缺点就是一些常见包需要手动下载。

大家根据情况选择。下面给大家介绍下载地址与安装说明。

Miniconda官方下载地址:

docs.conda.io/en/latest

清华源:

Index of /anaconda/miniconda/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

官网截图

大家可以选择不同的python初始版本进行下载

Anaconda官方下载地址:

anaconda.com/products/d

清华源:

Index of /anaconda/archive/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

安装流程(以Miniconda为例):

  1. 建议选择第一项就可以了

2.自行调整安装位置

3.选择添加到环境变量中(建议勾选,避免以后自行设置出现问题)

4.install即可

安装好Miniconda后在开始菜单栏会出现这两个东西,接下来主要的操作都是在Prompt中进行。

conda和pip区别

有位大神总结的很好,直接放个链接过来。

请问大神们,pip install 和conda install有什么区别吗? - ZERO-XJ的回答 - 知乎 zhihu.com/question/3951

简单说就是,如果A已经存在,再次安装A时:

使用pip安装,检测到存在,拒绝安装;

使用conda安装,如果A之前不是由conda安装的,那它还会继续下载安装(容易造成覆盖或者多版本同时存在),否则也是拒绝安装;

兼容性方面,pip只负责想办法安装,而conda也会进行兼容性的检查(也只是conda安装部分的检查)

总结原则:

安装包,安装方式尽量一致,不要混用,除非一些包用其中一种固定用的方式安不上。

删除包,谁安装就由谁卸载,对于一些简单的包也可以直接到ib/site-packages中进行手动删除。

常见命令:环境等

查看当前conda版本

conda --version

查看当前所有虚拟环境

conda env list

创建、删除、激活、退出环境

# 创建
conda create -n 环境名 python=指定版本
conda remove -n 环境名 --all
conda activate 环境名
# 退出当前环境,到默认base环境
conda deactivate 

查看当前环境中的所有包

conda list

安装删除新包

# 安装
conda install 包名
conda uninstall 包名 
conda remove 包名

清除conda环境中一些缓存包 内容等(不出bug或者空间还够就不用执行这个)

conda clean --all

安装pytorch与cuda

两者的安装顺序没有要求,但都有版本要求。如果大家有对pytorch有具体版本需求,那需要看好自身电脑支持的cuda版本以及可用的cuda版本中哪一个对应目标pytorch版本。

我对pytorch版本没有具体要求,所以先安装了cuda+cudnn,就以此为例进行介绍。

查看支持的cuda版本

既可以通过以下控制面板,也可以通过后面的命令行直接进行查看。

  1. 打开自己的NVIDIA 控制面板,一般电脑右下角都有。如果找不到,可以在搜索中搜索“NVIDIA Control Panel”。
  2. 选择“帮助”中的“系统信息”。

3. 查看自己的显卡驱动版本,并选择合适的cuda版本。

可以在官方的说明中选择合适的版本。

docs.nvidia.com/cuda/cu

官方部分截图

补充:

GA:General Availability,正式发布的版本。

RC:Release Candidate,发行候选版本,是最终发布成正式版的前一个版本。

或者也可以直接选择对应版本。

命令行指令:

首先一定要进入所配置的环境。

nvidia-smi
# 查看当前驱动版本以及支持的cuda版本

可以看到,图片中显示的版本信息和上一种通过查询控制面板的方式得到的信息一致。实际安装cuda的版本可以低于图中的匹配版本。

nvcc -V 
# 查看当前安装的cuda的版本

下载安装cuda+cudnn

  1. 直接在官网选择对应版本下载。

CUDA Toolkit Archive

官网部分截图
官网截图,Download即可

2.安装流程

运行安装包。路径建议是默认的。


等待安装界面出现。“同意”。

这里我选择的自定义,因为后面要看一些包的版本。

如果之前电脑中有一些包,避免用旧版本替换较高的版本,所以我没有勾选。

这里安装位置的设计来自第四条参考链接。

这里勾不勾选都可,我√了。

等待安装完成即可。

安装完成后可以在prompt中进行验证

nvcc -V
安装成功了

3. 安装cudnn。

官网选择对应版本下载。下载需要账号,没有可以自行注册~

developer.nvidia.com/rd

下载完成后进行解压,将以下文件放到之前安装cuda的第一个路径CUDA_manager\CUDA10.1\CUDA1里

到此cuda+cudnn就完成安装啦!

附:关于环境变量问题,正常按流程安装完会自动配置好,如果流程中某些步骤出现问题还请自行查看修改环境变量。

安装pytorch

cuda安装好后,pytorch的安装就很简单了。在pytorch官网寻找对应版本的安装就好

PyTorch

conda install pytorch==1.7.1 torchvision==0.8.2 torchaudio==0.7.2 cudatoolkit=10.1 -c pytorch
官网截图

可以看到,官网的命令根据cuda以及pytorch的的版本有所不同,选择对应的即可。

!!!这里要注意,因为前面已经添加了国内清华源,所以在终端中执行命令的时候要去掉后面的 -c python

不然还是会按默认源进行,非常慢~

同时也要注意一下python版本的问题(一般都没什么问题~)

github.com/pytorch/visi

补充下面的pip安装

# CUDA 10.1
pip install torch==1.7.1+cu101 torchvision==0.8.2+cu101 torchaudio==0.7.2 -f https://download.pytorch.org/whl/torch_stable.html

安装完成后可以用下面代码进行验证。

torch.cuda.is_available() # True则ok

常见问题总结:

pycharm环境配置

打开pycharm,File->Settings->Project:pycharm->Python Interpreter

1
2

pycharm中terminal无法显示环境如何解决

参考自第四个参考链接

使得pycharm中的terminal如此形式(默认应该是PS)


1.右键Anaconda Prompt

2.右键快捷方式,“属性”,复制从cmd开始的所有内容。

3.打开pycham

File->Settings->Tools->Terminal 粘贴刚才复制的路径即可

4.重启pycharm即可。

conda配置修改下载源

因为conda默认下载源是在国外,所以可能在安装一些包的时候很慢,这时候就可以考虑更换下载源,常用的有清华,豆瓣,中科大等。

# 查看当前源
conda config --show channels
# 添加下载源
conda config --add channels 源地址
# 恢复默认下载源
conda config --remove-key channels
# 设置安装包时,显示镜像来源,建议显示
conda config --set show_channel_urls yes 

配置文件位于:C:\Users\用户名 路径下,为.condarc记事本文件,如果不存在该文件,可以尝试该命令先随便添加一个源 生成该文件。

conda config --add channels s
# 手动修改就行
  - http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/win-64/
  - http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/win-64/
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
# 这个配置亲测安装pytorch可用,如果出现问题,可以尝试其他下载源……

最终.condarc文件内容如下:

pip修改下载源

推荐一个大佬 杨航锋 写的工具包 GitHub - yhangf/PyQuickInstall: 超好用的pip下载加速工具,谁用谁知道! ,win10亲测可用。进行源的更改十分方便~

Miniconda卸载不干净,导致重新安装后缺少很多文件无法正常使用

清除电脑中所有conda相关的(可以利用搜索删除所有相关文件),然后换用另一个版本的安装包进行安装。

conda环境配置

conda查看并修改虚拟环境默认安装位置

# 查看安装位置,第一个为默认位置
conda config --show envs_dirs

一般安装完后,默认位置都是Miniconda。

如果不是,如何修改:

conda config --add envs_dirs 路径

修改后需要进一步查看新路径文件夹是否具有写入权限:(参考第一个参考链接)

右键单击新路径的文件夹,选择属性,选择“安全”,选择“编辑”,查看一下是否具有写入权限,如果没有,进行勾选即可。

创建、删除、激活、退出环境

# 创建
conda create -n 环境名 python=指定版本
conda remove -n 环境名 --all
conda activate 环境名
# 退出当前环境,到默认base环境
conda deactivate 

查看并修改conda中pip默认安装位置

重要提示! :如果没有必要需求(或者强迫症)没必要进行如下操作,因为经过实验,有如下两个问题:

  1. 如果把pip的安装位置和conda的重叠后,如果conda进行重复安装(详见“conda 和 pip区别”),那么包的一些文件会被覆盖,导致原有安装的版本可能无法使用~卸载时也可能无法卸载干净。还不如分开存放清楚。虽然会额外占用一点点内存。

2. 在创建新环境时它的默认安装位置是上一次手动设置的位置,这样就需要每次创建新环境都得设置一下。


通常我们在创建新的虚拟环境时都会附带pip包,而在安装一些包的时候可能会混用两种安装方式(不建议,可以看目录中“conda 和 pip区别”内容),conda安装的包一般都是在对应的虚拟环境中,而pip安装的初始位置应该是在C盘,所以如果用pip多了,C盘空间会变少。我本人不能忍受这种行为~所以有了以下内容。

# 查看当前环境下的pip安装位置
python -m site

USER_BASE 就是下载安装包的位置;USER_SITE 是脚本启动的位置

可以看到,目前的路径是在C盘中。

那如何进行修改呢

# 获取修改文件
python -m site -help

在该路径找到文件打开,可以看到目前是默认状态,进行修改。

建议放到对应的Anaconda位置中去,以我创建的虚拟环境pytorch环境为例

此时再次执行命令查看

修改成功

到此结束,以后在该环境中通过pip安装的包就都放到图示位置中了。


重要提示! :如果没有必要需求(或者强迫症)没必要进行如下操作,因为经过实验,有如下两个问题:

  1. 如果把pip的安装位置和conda的重叠后,如果conda进行重复安装(详见“conda 和 pip区别”),那么包的一些文件会被覆盖,导致原有安装的版本可能无法使用~卸载时也可能无法卸载干净。还不如分开存放清楚。虽然会额外占用一点点内存。

2. 在创建新环境时它的默认安装位置是上一次手动设置的位置,这样就需要每次创建新环境都得设置一下。

conda重置环境

提示 :如果当前环境还能用,不要乱动环境~不然可能一动你的环境shan就塌了。

通常在经过一段时间的使用后,我们的base或者建立的虚拟环境中的包会很乱导致出现版本冲突等问题,这时可以选择删除重建虚拟环境,或者更为方便的是进行环境的重置。

# 查看当前环境下环境的版本