Anaconda基础知识

Anaconda入门

1 Anaconda 介绍

Anaconda®是一个包管理器,一个环境管理器,一个Python/R数据科学发行版,以及超过7500个开源包的集合。Anaconda是免费且易于安装的,它提供免费的社区支持。

2 Anaconda 下载

Anaconda主要包括个人版(Individual Edition)、商业版(Commercial Edition)、团队版(Team Edition)和企业版(Enterprise Edition)

3 安装Anaconda

Anaconda还有一个只包含python、conda及其相关依赖包的精简版(Miniconda)

当满足以下几种情况时,你可以考虑使用Miniconda

  • 不介意手动安装你期望使用的包
  • 希望节省电脑的磁盘空间
  • 希望以最快的速度开始上手python

不同系统下的anaconda安装

4 配置环境变量

环境变量异常一般会导致conda not foundconda is not recognized as an internal or external command等错误,此时一般有两种解决方案:

  • 重装Anaconda,并勾选添加环境变量选项
  • 手动在系统中添加环境变量

Conda

Conda是一个运行在Windows、macOS和Linux上的开源包管理系统环境管理系统

Conda可以快速安装、运行和更新包及其依赖项。Conda很容易在本地计算机上创建、保存、加载和切换环境。它是为Python程序创建的,但它可以打包和分发任何语言的软件。

Conda主要功能

  • 创建新的conda环境
  • 在现有的conda环境中安装和更新包
  • 查询和搜索Anaconda包索引和当前的Anaconda安装

官方Conda文档

1 管理虚拟环境

虚拟环境是一种工具,通过为不同的项目创建独立的空间(其中包含每个项目的依赖项),有助于将不同项目所需的依赖项分开。

用户可以使用Pipenv或Poetry等工具之一创建虚拟环境,或者使用conda虚拟环境。Pipenv和Poetry是基于Python的内置venv库,而conda有自己的底层虚拟环境概念(Python本身也是conda环境中的依赖项)。

# 创建名为snowflakes的环境,并配置包biopython
conda create --name snowflakes biopython
# 创建名为snakes的环境,并指定python版本
conda create --name snakes python=3.9
# 创建虚拟环境,并指定python版本和多个包
conda create -n myenv python=3.6 scipy=0.15.0 astroid babel

1.1 activate

# 激活名为snowflakes的环境
conda activate snowflakes

1.2 切换环境

# 取消当前环境的激活
conda deactivate
# 激活另一个环境
conda activate snakes

1.3 卸载环境

# 删除指定的整个环境
conda remove --name ENVNAME --all

1.4 关于环境总结

# 查看所有已有环境
conda info --envs
# 设置环境变量
conda env config vars set my_var=value
# 查看环境历史版本
conda list --revisions
# 环境历史版本回滚
conda install --revision=REVNUM

2 管理包

# 查看当前环境所有已安装包
conda list
# 查看指定环境下的所有已安装包
conda list --name ENVNAME

查看包之间的依赖关系

  • conda info package_name列出特定包的依赖项
  • conda info查看所有包的缓存位置
  • 每个包都有对应的~anaconda/pkgs/package_name/info/index.json
  • 通过grep package_name ~/anaconda/pkgs/*/info/index.json可以找到依赖于某一特定包的其他所有包

2.1 安装第三方包

# 安装第三方包并指定版本号
conda install PKGNAME==3.1.4
# 安装第三方包并指定多个版本号
conda install "PKGNAME[version='3.1.2|3.1.4']"
# 安装第三方包并指定版本号范围
conda install "PKGNAME>2.5,<3.2"
# 安装包时默认yes,省心的小细节
conda install --yes PKG1 PKG2

conda update vs conda install

  • conda update 是升级到最新的兼容版本
  • conda update 默认是升级到相同的主版本号下的最高版本
  • conda install 可以指定为任意已有的版本
  • conda install 默认是安装最高版本

2.2 卸载第三方包

# 清除未使用缓存文件(包括未使用包)
conda clean --all
# 卸载指定环境下的第三方包
conda uninstall PKGNAME --name ENVNAME

2.3 查看环境包信息

# 在当前环境搜索包
conda search PKGNAME
# 在当前环境搜索包并查看详情
conda search PKGNAME --info

3 导入导出环境

# 复制环境
conda create --clone ENVNAME --name NEWENV
# 导出环境为yml文件
conda env export --name ENVNAME > envname.yml
# 导入yml文件创建环境
conda env create --file envname.yml
# 向当前环境导入额外的包
conda list --explicit > pkgs.txt
# 向新建环境导入额外的包
conda create --name NEWENV --file pkgs.txt

4 与 JetBrians Pycharm 连接

Anaconda使用Pycharm

Pycharm官方文档

5 Anaconda应用

5.1 Anaconda Prompt

Windows独有的终端命令输入窗口 对于Linux或者Mac系统来说,可以使用自有的终端替代

anaconda自带的GUI(图形用户界面)

  • 能够进行环境的管理
  • 能够进行包的管理
  • 功能基本和Conda是一致的
  • 只不过一个是命令行操作,一个是GUI

官方Navigtor文档

5.3 Spyder

Spyder是一个免费的开源科学环境,使用Python编写,由科学家、工程师和数据分析师设计。它独特地结合了综合开发工具的高级编辑、分析、调试和分析功能,以及科学包的数据探索、交互执行、深度检查和漂亮的可视化功能。 Spyder官方文档

5.4 Jupyter Notebook

Jupyter Notebook App(原名IPython Notebook)是一个运行在浏览器中的应服务器-客户端应用程序,允许通过网络浏览器编辑和运行笔记本文件。可以在不需要上网的本地桌面执行(如本文档所述),也可以安装在远程服务器上并通过互联网访问。

Jupyter Notebook官方文档

5.5 JupyterLab

JupyterLab是Jupyter项目的下一代基于web的用户界面。 JupyterLab能够以灵活、集成和可扩展的方式处理文档和活动,如Jupyter笔记本、文本编辑器、终端和自定义组件。

JupyterLab官方文档

5.6 Qtconsole

Qt控制台是类似于IPython终端的GUI应用程序。但是,它提供了许多增强功能,这些增强功能在基于文本的IPython终端中不可用。增强功能包括内联图形,带有语法高亮显示的多行编辑,图形化调用提示等。Qt控制台可以使用任何Jupyter内核,默认为IPython内核。 Qtconsole官方文档

5.7 VS Code

Visual Studio Code是一款轻量级但功能强大的源代码编辑器,可以在桌面上运行,适用于Windows、macOS和Linux。它内置了对JavaScript、TypeScript和Node.js的支持,并拥有丰富的扩展生态系统用于支持其他语言(如c++、c#、Java、Python、PHP、Go)和运行环境(如. net和Unity)。 VS Code官方文档

5.8 Glueviz

Glue是一个Python库,用于探索相关数据集内部和之间的关系。其主要特点包括:

  • 统计绘图。用户可以创建数据的散点图、直方图和(2D和3D)图像。
  • 灵活的跨数据链接。Glue使用存在于不同数据集之间的逻辑链接来覆盖不同数据的可视化,并跨数据集传导选择。
  • 完整的脚本功能。Glue是用Python编写的,并构建在它的标准科学库之上

Glueviz官方文档

5.9 Orange3

5.10 Rstudio

一个用于R和Python的集成开发环境,具有控制台、支持直接代码执行的语法高亮编辑器,以及用于绘图、历史记录、调试和工作空间管理的工具。

基于Anaconda配置Rstudio的编程环境

Rstudio官方文档

其他补充

1 常见问题

https://docs.anaconda.com/anaconda/user-guide/troubleshooting/

2 conda cheat sheet

往年同期文章