• 简明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 User guide
    不过,官网文档内容过于详实,简直就是字典,我是看不下去的..

    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
    

    注意:如果导出的environment.yml开头几行显示的channel是anaconda官方(https://repo.anaconda.com/pkgs/main),可以考虑换成tuna的镜像通道(https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main)来加速,e.g.

    name: base
    channels:
      - https://repo.anaconda.com/pkgs/main
      - defaults
    dependencies:
      - asn1crypto=0.24.0=py37_0
      - attrs=19.3.0=py_0
      - backcall=0.1.0=py37_0
      ...
    

    换成:

    name: base
    channels:
      - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
      - defaults
    dependencies:
      - asn1crypto=0.24.0=py37_0
      - attrs=19.3.0=py_0
      - backcall=0.1.0=py37_0
      ...
    

    使用yml导入创建虚拟环境

    conda env create -n env_name -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实践:安装python2的pip无法安装的包

    由于pip官方的不作为(辣鸡pip),现如今python2对应的pip几乎没法装pypi包了,一旦安装就会失败,提示你说:需要至少python3.5的环境。老子的python2为什么不给用了?垃圾pip。

    RuntimeError: Python version >= 3.5 required

    解决办法:用conda安装!例如:

    conda install numpy
    
  • 相关阅读:
    Django Restframework 实践(二)
    mysql in 过滤 解决转义问题
    automapper
    autoface
    各种文件上传 转载
    REST Client
    MySql PartionBy
    mysql 变量名称不能与表字段一致
    mysql 存储过程分页 转载
    dapper.net 转载
  • 原文地址:https://www.cnblogs.com/zjutzz/p/11871266.html
Copyright © 2020-2023  润新知