shuguang's blog

环境决定基础,选择决定价值,努力决定方向。

Anaconda 使用教程

  • 本文主要介绍Anaconda相关概念和作用,着重介绍了Anaconda常用命令。

#Anaconda 简介

  • Anaconda就是可以便捷获取包且对包能够进行管理,同时对环境可以统一管理的发行版本。Anaconda包含了conda、Python在内的超过180个科学包及其依赖项。

  • Anaconda、conda、pip、virtualenv的区别

    • Anaconda
      • Anaconda是一个包含180+的科学包及其依赖项的发行版本。其包含的科学包包括:conda, numpy, scipy, ipython notebook等。
    • conda
      • conda是包及其依赖项和环境的管理工具。
    • pip
      • pip是用于安装和管理软件包的包管理器。
    • virtualenv
      • virtualenv是用于创建一个独立的Python环境的工具。
    • pip 与 conda 比较
      • 依赖项检查
        • pip:不一定会展示所需其他依赖包,安装包时或许会直接忽略依赖项而安装,仅在结果中提示错误。
        • conda:列出所需其他依赖包;安装包时自动安装其依赖项;可以便捷地在包的不同版本中自由切换。
      • 环境管理
        • pip:维护多个环境难度较大。
        • conda:比较方便地在不同环境之间进行切换,环境管理较为简单。
      • 对系统自带Python的影响
        • pip:在系统自带Python中包的更新/回退版本/卸载将影响其他程序。
        • conda:不会影响系统自带Python。
      • 适用语言
        • pip:仅适用于Python。
        • conda:适用于Python, R, Ruby, Lua, Scala, Java, JavaScript, C/C++, FORTRAN。
    • conda与pip、virtualenv的关系
      • conda结合了pip和virtualenv的功能。

#Anaconda 常用命令

  • conda list 查看安装了哪些包。

  • conda env listconda info -e 查看当前存在哪些虚拟环境

  • conda update conda 检查更新当前conda

  • activate your_env_name 激活当前环境

  • conda info --envs 查看现有环境

  • conda create -n your_env_name python=X.X(2.7、3.6等)

    • 命令创建python版本为X.X、名字为your_env_name的虚拟环境。

    • your_env_name文件可以在Anaconda安装目录envs文件下找到。

  • conda install -n your_env_name <package>对虚拟环境中安装额外的包

  • conda deactivate 关闭虚拟环境(即从当前环境退出返回使用PATH环境中的默认python版本)。

  • conda env remove --name your_env_name 删除虚拟环境

  • conda env remove --name your_env_name package_name 删除环境中的某个包。

  • conda config --remove-key channels 恢复默认源,十分好使

  • conda install --yes --file requirements.txt 一次性安装若干依赖

  • conda install scikit-learn-intelex 可以加速

  • conda install <package>

  • conda unintall <package>

  • pip install <package>

  • pip unintall <package>

  • conda -help


#Anaconda 环境和包管理

  • conda命令全自动安装Python包到指定环境

    • 激活当前环境

      • activate <you_environment>
    • 安装指定包

      • conda install <pkg_name>
    • 查找所需要的包

      • anaconda search -t conda <pkg_name>
    • 获取包的相关信息

      • anaconda show path/<pkg_name>
  • pip命令全自动安装Python包到指定环境

    • 激活当前环境

      • activate <you_environment>
    • easy_install <pkg_name> 或者 pip install <pkg_name> 或者 pip3 install <pkg_name>

  • 线下安装Python包到指定环境

    • 激活当前环境

      • activate <you_environment>
    • Anaconda安装本地whl包

      • pip install 路径/whl文件名
    • 半自动安装<pkg_name>

      • 进入已解压的<pkg_name>文件夹下,可以看到setup.py文件,

      • 直接在地址栏输入%comspec%,进入该目录的命令提示python.exe setup.py install,回车键后进行自动安装

    • 手动安装:将 <pkg_name> (指定的环境在envs)目录放置于当前目录或者 site-packages 目录

      • Venv(虚拟环境)是Python用来创建和管理虚拟环境的模块
  • Python扩展包的非官方Windows二进制文件

  • 添加添加清华大学镜像

    • conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/

#Anaconda 环境的克隆

  • 复制或克隆环境:

    • 在本机上复制

      • conda create -n <environment]–clone <new_environment]
    • 复制到其他机器

      • 方式一

        • 激活要导出的环境
          • conda activate <environment]
        • 导出环境
          • conda env export ] <environment].yaml
        • 使用yaml配置文件创建新环境
          • conda env create -f <environment].yaml
      • 方式二(只能复制环境中以conda install安装的包,不能复制pip install安装的包)

        • 导出环境
          • conda list --explicit ] env.txt
        • 创建新环境
          • conda create -n newenv -f env.txt

#致谢