分类 conda 下的文章

一、创建虚拟环境

1.1 创建 exp_detect_1 的虚拟环境:

conda create -n exp_detect_1 python=3.7

或者 直接激活虚拟环境 exp_detect_1:
conda activate exp_detect_1
(注意:退出环境的命令为:#conda deactivate)

二、虚拟环境打包

1.3 打包压缩虚拟环境 exp_detect_1
go to 此目录
cd /home/liu/miniconda3/envs/
打包压缩
tar -czvf exp_detect_1.tar.gz ./exp_detect_1

三、打包上传,解压

解压 exp_detect_1.tar.gz 到 ~/miniconda3/envs 环境目录。
cd ~/miniconda3/envs
tar -xzvf exp_detect_1.tar.gz
激活 conda 虚拟环境> exp_detect_1
conda activate exp_detect_1
python xxx

OK, run the source package

四、注意事项

怎么快速迁移 “训练环境”补丁-1

一、存在的问题
在使用文档“怎么快速迁移训练环境.pdf”中存在两个问题:
1.直接拷贝虚拟环境,部分文件路径没有修改
2.cudatoolkit包没有拷贝

二、对应的解决办法如下:
1.直接拷贝虚拟环境,部分文件路径没有修改
需要修改的文件所在位置:/home/anaconda3/envs/pretrain/bin (注意不同服务器conda安装位置可能不太一样)

图片1.png

修改文件:此目录下会用到的文件例如:pip、deepspeed(根据自己实际需求)
图片2.png

修改方式:将文件首行修改为当前文件实际路径

2.cudatoolkit包没有拷贝
如果虚拟环境的cudatoolkit是用过conda install 方式安装,例如下面的方式:
conda install pytorch==1.12.1 torchvision==0.13.1 torchaudio==0.12.1 cudatoolkit=11.3 -c pytorch
实际上cudatoolkit的安装位置不在拷贝的虚拟环境中,而是在conda公用目录pkgs文件夹下(/home/anaconda3/pkgs/),注意:此目录下可能共存多个cudatoolkit包,通过如下方式选择拷贝哪一个。

在原主机中激活待拷贝的虚拟环境:
conda activate pretrain6
查看cudatoolkit的build id:
conda list cudatoolkit

图片3.png

到pkgs目前查找对应的cudatoolkit包:
cd /home/anaconda3/pkgs/
ls -hl|grep “cudatoolkit”
图片4.png

打包,压缩到:
zip -r cudatoolkit-11.3.1-h9edb442_10.zip cudatoolkit-11.3.1-h9edb442_10
拷贝到目标虚拟环境对应位置(/home/anaconda3/pkgs/)解压缩:
unzip cudatoolkit-11.3.1-h9edb442_10.zip

三、torch安装的两种方式和推荐方式
安装方式官方链接:
https://pytorch.org/get-started/previous-versions/#installing-previous-versions-of-pytorch
1.linux环境下两种安装方式
官方文档中有两种安装方式:
第一种是通过conda安装,例如:
conda install pytorch==1.12.1 torchvision==0.13.1 torchaudio==0.12.1 cudatoolkit=11.3 -c pytorch
第二种是通过pip安装,例如;
pip install torch==1.12.1 torchvision==0.13.1 torchaudio==0.12.1

这两种安装方式的区别在于:
通过conda安装会安装cudatoolkit,而通过pip安装则不会。

2.推荐安装方式:conda install
通过conda install 安装方式会适配pytorch,torchvision,torchaudio,cudatoolkit的版本,如果版本不对应,就安装不成功。

用pip install 不能安装cudatoolkit,只能安装pytorch,torchvision,torchaudio,调用的是主机的cuda,可能存在cuda和torch不匹配问题。

可能遇见的问题

1.openssl

OpenSSL 3.0's legacy provider failed to load. This is a fatal error by default, but cryptography supports running without legacy algorithms by setting the environment variable CRYPTOGRAPHY_OPENSSL_NO_LEGACY. If you did not expect this error, you have likely made a mistake with your OpenSSL configuration. 

修改方式:
在虚拟环境下直接执行:export CRYPTOGRAPHY_OPENSSL_NO_LEGACY=1

1.创建、启动虚拟环境

conda create -n  env_name python=3.7 
conda activate env_name

如果出现如下类似错误:

nvalidArchiveError(‘Error with archive /usr/local/Anaconda3/pkgs/sqlite-3.36.0-hc218d9a_0stdo5ow0/info-sqlite-3.36.0-hc218d9a_0.tar.zst. You probably need to delete and re-download or re-create this file. Message from libarchive was:\n\nCould not unlink’)
————————————————

解决办法:
找到对应的pkgs包,赋权限777即可

sudo chmod -R 777 /usr/local/Anaconda3/pkgs/

2.查看虚拟环境用户

conda env list

3.查看安装软件版本

conda list

conda 安装torch等

参考:https://pytorch.org/get-started/previous-versions/

# 先创建虚拟账户然后
conda install pytorch==1.12.1 torchvision==0.13.1 torchaudio==0.12.1 cudatoolkit=10.2 -c pytorch

默认国外源,安装太慢,修改源:
将以上配置文件写在~/.condarc中
vim ~/.condarc

  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
ssl_verify: true