MistGPU博客

分享深度学习知识
提供在线GPU出租

conda创建虚拟环境

Deep Mist Tech's Avatar 2021-02-03

  1. 1. 找不到conda命令
  2. 2. 创建虚拟环境
  3. 3. 激活环境
  4. 4. 安装其他的包
  5. 5. 在Jupyter中使用conda创建的环境
  6. 6. 在PyCharm中使用conda创建的环境
  7. 7. 降级cuda版本
  8. 8. 例:安装旧版本PyTorch
  9. 9. 常见问题
    1. 9.1. 环境冲突(Found Conflicts)
    2. 9.2. 使用自定义源时404或403报错

每台服务器创建时均已配好miniconda3的环境

找不到conda命令

如在终端中输入conda后提示conda: command not found,
则需要手动配置一下环境变量:export PATH=$PATH:/mistgpu/miniconda3/bin

创建虚拟环境

在终端中输入conda create -n 环境名即可,环境名可任取。也可以在创建的时候指定所需要的包及对应版本(推荐),

conda create -n 环境名 python=3.8 ipykernel pandas matplotlib ... -y

之后等待conda下载完即可,下载完成时会有下图提示:

激活环境

创建完成后的环境需要激活才可生效,使用conda activate 环境名即可激活。激活成功后在终端提示符上边会出现(环境名)
同时可以用以下命令检查python版本及路径(路径应当在Miniconda目录中,而不是默认的/usr/bin)。

  • python -V
  • which python

安装其他的包

虚拟环境创建后不会继承默认环境里的包,意味着程序所需的包都需要在虚拟环境中重新安装

若在创建时没有一次性装完,可以继续在终端中输入conda install 包名 -y安装剩余的包

注:为了确保不同包的版本之间能互相兼容,在conda环境中请尽量在一条命令内安装好所有的包,并尽量不要使用pip安装。

在Jupyter中使用conda创建的环境

默认情况下,服务器附加功能里的Jupyter使用的是默认的pip环境。 若要想在Jupyter中使用conda创建的虚拟环境,需要如下配置:

  1. 使用conda activate 环境名激活环境
  2. 在虚拟环境内输入: conda install ipykernel ipython_genutils -y
  3. 将ipykernel安装到默认环境中(不需要退出虚拟环境):
    python -m ipykernel install --user --name mistvenv --display-name "虚拟环境"
    (此命令中--name后的名称要和之前的环境名一致,--display-name后的名称可自定义)
  1. 重新打开Jupyter,点击左上角蓝色+号新建启动器即可看到虚拟环境了。

已有的ipynb文件可以通过点击右上角的python切换环境。

在PyCharm中使用conda创建的环境

PyCharm具体配置教程可参考http://blog.mistgpu.com/2021/02/01/PyCharm连接教程/#添加SSH解释器)

  1. 使用conda activate 环境名激活环境
  2. 在虚拟环境内输入: which python,复制返回的路径名。
  1. 将返回的路径名(上图红框)填入SSH解释器中在解释器一栏(蓝框)

降级cuda版本

在conda中可以通过安装cudatoolkit来切换cuda版本。
注:RTX30系、A5000、A6000、A100等安培架构机型不支持降级到cuda11以下。

通过conda search cudatoolkit可以看到可安装的版本,使用conda install cudatoolkit=版本号 -y安装。

虚拟环境内安装的cudatoolkit的版本就对应了cuda的版本,使用conda list确认此包已安装即可使用。

  • 使用nvidia-smi命令查询的cuda版本为驱动最高支持的cuda版本,不代表环境的cuda版本。
  • 使用nvcc -V命令查询到的cuda版本为默认pip环境的cuda版本,不是虚拟环境内的版本。

例:安装旧版本PyTorch

PyTorch官方网站找到对应PyTorch版本-Linux-conda部分的命令,并选择所需CUDA版本。

本例以安装1.7.1版本的PyTorch,10.2版本的cuda为例。

激活环境后粘贴命令即可。需要下载的包比较大,请耐心等待。

安装完成后确认PyTorch版本为1.7.1,cuda版本为10.2,cudnn版本为7.6.5,GPU可用。

常见问题

环境冲突(Found Conflicts)

遇到冲突时一般会有类似下图的提示,若环境内装了很多包的话会卡在红框处。此时可以Ctrl-c直接取消,也可在等待完成后查看具体哪些包直接有冲突。

解决方案包括但不限于:

  • 重新创建虚拟环境,并将所有要用到的包放在一条命令内安装
  • 放宽各个包版本要求

使用自定义源时404或403报错

为了加快conda的下载速度,我们在环境中修改了默认镜像源。这可能导致使用其他自定义源时报错。

您可以在终端中使用rm ~/.condarc命令删除自定义配置后重试。

删除.condarc后将使用默认源下载包,速度会比使用镜像更慢。

本文最后更新于 天前,文中所描述的信息可能已发生改变