conda使用
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了conda使用相关的知识,希望对你有一定的参考价值。
参考技术A conda 类似于Windows系统的软件商城,可以自动安装软件。分为anaconda 和 miniconda(简化版)两个版本。conda search 搜索软件
conda install 安装软件
conda info 查看conda配置信息
.condarc 存储channel信息
配置channel
conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/cloud/conda-forge/
conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/cloud/bioconda/
conda config --set show_channel_urls yes
conda config --add channels https://mirrors.aliyun.com/anaconda/cloud/msys2
conda config --add channels https://mirrors.aliyun.com/anaconda/cloud/bioconda
conda config --add channels https://mirrors.aliyun.com/anaconda/pkgs/main
conda config --add channels https://mirrors.aliyun.com/anaconda/pkgs/r
conda config --set show_channel_urls yes
简明conda使用指南
区分conda, anaconda, miniconda
anaconda相当于conda+python+pip+一堆python科学计算常用包(numpy, scipy, matplotlib等)
miniconda相当于conda+python+pip,轻量级。
conda是通用的包管理器,能装pip包(例如numpy),也能装其他语言的软件包(例如ninja, cmake).
如果你用Python,做深度学习,那么强烈建议你使用miniconda/anaconda而不是系统自带Python/pip,虽然硬盘空间可能多消耗一些,但往往能节省在环境配置上的时间开销。
conda版本
conda -V
或者
conda --version
虚拟环境
创建虚拟环境
conda create -n env_name python=x.y
e.g. 创建python3.5的虚拟环境:
conda create -n py35 python=3.5
删除虚拟环境
conda remove --name env_name --all
重命名虚拟环境
没法直接重命名虚拟环境,只能很naive的从原有环境clone,然后删掉原有环境(或者用下面的“分享环境”的做法,不过估计需要联网速度更慢):
conda create --name new_name --clone old_name
conda remove --name old_name --all
列出虚拟环境
conda env list
或者:
conda info --envs
#也可以用缩写形式:
conda info -e
切换/激活虚拟环境
conda activate env_name
e.g. 激活py35环境:
conda activate py35
退出当前虚拟环境
conda deactivate
分享环境
导出虚拟环境
导出到yml文件,相当于pip用的requirements.txt的升级版
conda env export > environment.yml
使用yml导入创建虚拟环境
conda env create -f environment.yml
复制虚拟环境
conda create -n new_env_name --clone env_name
查看某个环境的位置
默认的conda虚拟环境叫做"base",它提供的python在/home/zz/soft/miniconda
。
base环境之外的虚拟环境,例如py35
,在/home/zz/soft/miniconda3/envs/py35/
。
在某些开源项目的编译配置环境(例如OpenCV等),可以指定特定版本的python,则需要到/home/zz/soft/miniconda3/envs/py35/
这样的位置下找。
列出软件包
包的基本信息
显示当前环境的所有包的基本信息
conda list
显示指定虚拟环境的所有包的基本信息
conda list -n env_name
区分显示conda和pip包的信息
当前环境的:
conda env export
输出结果中- pip
开始列出的是pip包列表。
conda env export -n env_name
安装软件包
在当前虚拟环境中安装软件包
conda install pkg_name
e.g. 安装cmake(cmake不是一个pypi包,但可以通过conda下载安装,并且如果你在condarc中配置了国内镜像,下载起来会非常快,比自己手动去cmake官网下载快很多):
conda install cmake
在指定虚拟环境中安装软件包
conda install --name env_name pkg_name
从指定channel下载安装
以下载pytorch包举例:
conda install --channel https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/ pytorch
或者用缩写的参数-c
替代--channels
,用~/.condarc
中配置的名为pytorch的channel
conda install -c pytorch pytorch
删除软件包
当前环境
conda remove pkg_name
指定环境
conda remove --name env_name pkg_name
查找软件包
conda search pkg_name
conda配置
.condarc
Linux/Mac: ~/.condarc
Windows: c:/Users/xxx/.condarc
在国内使用tuna的conda镜像。个人感觉这个.condarc中配置的是各个channel,一方面是管理不同版本的包(例如pytorch这个channe),另一方面可以切换镜像,用来加速。
channels:
- defaults
show_channel_urls: true
default_channels:
- 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/pkgs/r
custom_channels:
conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
pip.conf
Linux/Mac: ~/.pip/pip.conf
Windows: C:/Users/xxx/pip/pip.ini
除了配置conda镜像,还需要配置pip镜像。因为很多python包还是需要通过pip而不是conda安装(conda里没有相应的包,只有pypi里有),此时pip使用国内镜像来加速,需要配置pip.conf
,例如:
[global]
index-url = https://mirrors.aliyun.com/pypi/simple/
[install]
trusted-host=mirrors.aliyun.com
bash/zsh自动加载
以前都是安装miniconda/anaconda时选择"yes",自动追加配置到~/.bashrc
,然后手动复制到~/.zshrc
(我默认用的zsh替代了bash作为解释器)。其实可以更简单:
conda init zsh
进入bash/zsh不自动activate base env
conda config --set auto_activate_base false
以上是关于conda使用的主要内容,如果未能解决你的问题,请参考以下文章