conda 使用教程
针对 ubuntu20.04
ubuntu20.04 是 “西柚云” 主要使用的操作系统, 西柚云官网
参考教程: conda 的安装和卸载
虚拟环境管理
- conda env list (列出虚拟环境信息)
- conda create -n <env_name> (创建虚拟环境)
# 命令示例 conda create -n py38 conda create -n py39 python=3.9 # 官方推荐使用这种方式 conda create -n py39_2 -y && conda install python=3.9 # 比较两种创建方式有何不同 diff miniconda3/envs/py39 miniconda3/envs/py39_2
- conda activate <env_name> (进入虚拟环境)
# 命令示例 conda activate py39
- conda deactivate <env_name> (退出虚拟环境)
# 命令示例 conda deactivate py39
- conda remove -n <env_name> --all 删除虚拟环境
# 命令示例 conda create -n test -y conda env list | grep test conda remove -n test --all conda env list
- 导出虚拟环境
# 适用于在相同操作系统下迁移 clone 虚拟环境 conda list --explicit > spec-list.txt # 适用于所有平台之间 clone 虚拟环境 conda env export > environment.yml
- 根据导出的文件创建虚拟环境
# 代码示例 # 根据导出包创建 env_name1 的虚拟环境 conda create -n env_name1 -f spec-list.txt # 在已经创建的虚拟环境中安装文件中对应的包 conda install -n env_name1 -f spec-file.txt conda env create -f environment.yml
channels 管理
conda 处理 channels 的优先级的步骤
1. 按通道优先级从高到低对包进行排序。
2. 将捆绑的软件包(具有相同通道优先级的软件包)从最高版本号到最低版本号排序。例如,如果 channelA 包含 NumPy 1.12.0 和 1.13.1,则 NumPy 1.13.1 将被排序更高。
3. 将仍然绑定的软件包(具有相同通道优先级和相同版本的软件包)从最高到最低内部版本号排序。例如,如果 channelA 同时包含 NumPy 1.12.0 build 1 和 build 2,则 build 2 首先排序。通道B 中的任何包都将排在通道A 之下。
4. 安装排序列表中满足安装规范的第一个包
- 列出 conda 中配置的 channels,根据从低到高的优先级排列
conda config --show channels
- 添加 channels,添加国内的 channel 也就是我们常说的添加国内源
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/
- 删除 channels
- 方法 1 (通过命令删除):
# 首先查看 channels conda config --get channels # 删除指定的 channels conda config --remove channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/
- 方法 2 (编辑 .condarc 文件删除想要删除 channels 对应的行)
vi ~/.condarc
- 方法 1 (通过命令删除):
- 安装包时暂时添加 channels,此 channels 处于最高优先级
conda install -c bioconda presto
包管理
使用 conda 安装包之前,需要在以下链接中搜索 conda 包,找到安装对应包的命令后再进行安装
搜 conda 包
- conda list (查看当前虚拟环境已经安装的包)
- conda install <package_name>
# 命令示例 conda install --help # -y: yes conda install requests -y # -c: 临时增加一个 channel ,并且增加的 channels 会处于最高优先级 conda install -c bioconda presto # -vv conda install numpy -y -vv # 后台下载 nohup conda install pandas -y &
- conda 官方建议,使用 conda 安装的 python包和使用 pip 安装的 python 包是有略微不同的,如果可能,尽量使用 conda 来安装包。参考链接
- 在 conda 4.6 以后,conda 可以识别 pip 安装的 python包,不过目前这一功能还处于实验阶段。
- 在 conda 中应该优先使用 conda 安装包,不要混用 conda 和 pip,可以设置一个虚拟环境专门用户 pip 管理 python包
- conda 和 pip 都可以根据文件批量安装 python 包
pip freeze > requiremets.txt pip install -r requirements.txt conda install -n env_name --file requirements.txt
配置管理
- conda config --show
# 查看 channels conda config --help conda config --get channels conda config --remove <key> <value>
我们不能记住那么多配置项的作用,如果需要可以查阅 conda 官方教程
conda 配置项的作用
本文含有隐藏内容,请 开通VIP 后查看