Python是一种面向对象的解释型计算机程序设计语言,已经成为世界上最受欢迎的编程语言之一。它的语言结构相对简单易懂。跨平台的便捷性(在Linux、MacOS以及Windows系统中搭建环境并使用),以及它具有数量庞大且功能相对完善的标准库和第三方库,致使这种语言应用的领域范围极广(人工智能、科学计算、Web开发、系统运维、大数据及云计算、金融、游戏开发等)。然而,正是由于库的数量庞大,对于管理这些库以及对库作及时的维护成为既重要但复杂度又高的事情。通常情况下,我们使用集成的编译环境,简化我们的人力,达到高效的目的。而Anaconda,在数据可视化和科学编程方面是我们最受欢迎的集成环境。
本文的结构如下:第一章,对Anaconda作简要介绍;第二章,对Miniconda作简单介绍;第三章,包含常见术语的对比;第四章,简要介绍Windows平台安装Anaconda个人版;第四章,作常用功能的介绍。
Anaconda是一个集成python的编译环境。软件的版本分为个人版,团队部,企业版以及商业版。
个人版是免费使用的,其他版本需要付费。开源的个人版(发行版)在全球拥有超过2000万用户,是在单台机器上执行Python / R数据科学和机器学习的最简单方法。该工具包是为个人用户开发的,它使您可以处理成千上万个开源软件包和库。
下载Anaconda个人版时,会自动安装250多个最常用的开源数据科学和机器学习软件包,只需键入conda install [package-name]
,即可安装成千上万个其他软件包。
Anaconda具有如下特点:
其特点的实现主要基于Anaconda拥有的:
Anaconda在不同平台安装包对比:
平台 | 大小 | 版本 |
---|---|---|
Windows | 457.0 MiB | Miniconda3 64-bit, Python3.8 |
MacOSX | 435 MiB | Miniconda3 64-bit, Python3.8 |
Linux | 529 MiB | Miniconda3 64-bit(x86), Python3.8 |
如果日常工作或学习中不需要使用250多个库,那么可以考虑如下一节介绍的Anaconda精简版——Miniconda。
Miniconda是Anaconda的最小安装程序,是免费的。它是Anaconda的一个小集成的版本,只包括conda、Python、它们所依赖的包,以及少量其他有用的包,包括pip、zlib和其他一些包。使用conda install
命令可以从Anaconda仓库中安装720多个额外的conda包[^2]。
Miniconda在不同平台安装包对比:
平台 | 大小 | 版本 | SHA256 hash |
---|---|---|---|
Windows | 57.0 MiB | Miniconda3 64-bit, Python3.8 | 4fa22bba0497babb5b6608cb8843545372a99f5331c8120099ae1d803f627c61 |
MacOSX | 54.5 MiB | Miniconda3 64-bit, Python3.8 | a9ea0afba55b5d872e01323d495b649eac8ff4ce2ea098fb4c357b6139fe6478 |
Linux | 89.9 MiB | Miniconda3 64-bit, Python3.8 | 1314b90489f154602fd794accfc90446111514a5a72fe1f71ab83e07de9504a7 |
Anaconda是一个包含7500+的科学包及其依赖项的集成环境。其包含的科学包包括:Conda, Pandas, Matplotlib, Numpy, Scipy, ipython notebook等。
Conda本身是一个包,并且也是一个包管理器,帮助你快速寻找和安装包。Conda 是一个运行在 Windows、 macOS 和 Linux 上的开源软件包管理系统和环境管理系统。Conda很容易在本地计算机上创建、保存、加载和切换环境。Conda 可以轻松地在本地计算机上创建、保存、加载和切换环境。它是为 Python 程序创建的,但它可以为任何语言打包和分发软件。Conda 作为一个软件包管理器可以帮助您查找和安装软件包。如果您需要一个需要不同版本的 Python 的包,则不需要切换到不同的环境管理器,因为 conda 也是一个环境管理器。只需几个命令,您就可以设置一个完全独立的环境来运行不同版本的 Python,同时继续在正常环境中运行通常版本的 Python。在它的默认配置中,conda 可以安装和管理由 Anaconda 构建、审查和维护的 repo.Anaconda.com 中的上千个软件包。Conda 包和环境管理器包含在 Anaconda 和 Miniconda 的所有版本中。
软件 | 相同点 | 不同的 |
---|---|---|
Anaconda | Python编写,能切换环境 | 集成环境,需要包依赖 |
Conda | Python编写,能切换环境 | 包管理 |
pip是一个模块,是包(模块)管理工具。
MacOX或Linux平台上,系统自带pip模块,Python安装pip这个步骤可以略过。
在Windows平台上,安装时确保勾选了pip
和Add python.exe to Path
。
检验安装成功?
进入命令提示符窗口,输入pip
回车,如下提示说明安装成功。
如果Windows提示未找到命令,请重新运行安装程序添加pip。
注意:MacOX或Linux上有可能并存Python 3.x和Python 2.x,因此还可以尝试对应的pip命令pip3
。
版本 | 安装命令 |
---|---|
Python 2.7.9及后续版本 | pip install 包名 |
Python 3.4及后续版本 | pip3 install 包名 |
注:常用的命令在本节图片中已经列出。
包(模块) | 依赖项 | 环境管理 | 对系统自带Python的影响 | 适用语言 |
---|---|---|---|---|
Conda | 列出所需其他依赖包。安装包时自动安装其依赖项。可以便捷地在包的不同版本中自由切换。 | 比较方便地在不同环境之间进行切换,环境管理较为简单。 | 不会影响系统自带Python。 | 适用于Python, R, Ruby, Lua, Scala, Java, JavaScript, C/C++, FORTRAN 等等。 |
pip | 不一定会展示所需其他依赖包。安装包时或许会直接忽略依赖项而安装,仅在结果中提示错误。 | 维护多个环境难度较大。 | 在系统自带Python中包的更新/回退版本/卸载将影响其他程序。 | 仅适用于Python。 |
注:Conda结合了pip和virtualenv的功能。
virtualenv包(模块)用于创建一个独立的Python环境。
当我们开发不同的程序,这个程序需要依赖的包只在某一个版本中被支持,比如:需要使用Python 2.X版本,而另一个程序需要使用Python 3.X版本,这我们怎么办?
在Python3中,所有第三方的包都会被pip
安装到Python3的site-packages
目录下。
升级包,可能会影响低版本的Python的运行。无法在全局site-packages
目录下的包。
使用virtualenv包,为它单独的开发创建一个独立的环境,这并不与其他virtualenv环境共享库;同时也可以选择性地不连接已安装的全局库。
如果在安装过程中遇到任何问题,那么暂时地关闭杀毒软件,并在安装程序完成之后再打开。
如果在安装时选择了“为所有用户安装”,则卸载Anaconda然后重新安装,只为“我这个用户”安装。
注意:
① 目标路径中不能含有空格,同时不能是“unicode”编码。
② 除非被要求以管理员权限安装,否则不要以管理员身份安装。
正在上传…重新上传取消正在上传…重新上传取消
除非你打算使用多个版本的Anaconda或者多个版本的Python,否则便勾选“Register Anaconda as my default Python 3.6”。
然后点击“Install”开始安装。如果想要查看安装细节,则可以点击“Show Details”。
注意:如果你不想了解“Anaconda云”和“Anaconda支持”,则可以不勾选“Learn more about Anaconda Cloud”和“Learn more about Anaconda Support”。
(1) “开始 → Anaconda3(64-bit)→ Anaconda Navigator”,若可以成功启动Anaconda Navigator则说明安装成功。
(2)“开始 → Anaconda3(64-bit)→ 右键点击Anaconda Prompt → 以管理员身份运行”,在Anaconda Prompt中输入 conda list ,可以查看已经安装的包名和版本号。若结果可以正常显示,则说明安装成功。
需要以命令行模式进行介绍,Windows用户请打开“Anaconda Prompt”。
conda --version
终端上将会显示当前安装Conda的版本号。如下图: conda 4.5.11
注意:如果出现错误信息,则需核实是否出现以下情况:
conda update conda
执行命令后,conda将会对版本进行比较并列出可以升级的版本。同时,也会告知用户其他相关包也会升级到相应版本。
当较新的版本可以用于升级时,终端会显示 Proceed ([y]/n)? ,此时输入 y 即可进行升级。
conda --help
或
conda -h
这里有多个方法。
→ 使用场景
当使用 conda install 无法进行安装时,可以考虑从http://Anaconda.org中获取安装包的命令,并进行安装。
→ 注意
从http://Anaconda.org安装包时,无需注册。
在当前环境中安装来自于http://Anaconda.org的包时,需要通过输入要安装的包在http://Anaconda.org中的路径作为获取途径(channel)。查询路径的方式如下:
① 在浏览器中输入:http://anaconda.org,或直接点击Anaconda Cloud
② 在新页面“Anaconda Cloud”的上方搜索框中输入要安装的包名,然后点击右边“放大镜”标志。
搜索结果中有数以千计的包可供选择,此时点击“Downloads”可根据下载量进行排序,最上面的为下载最多的包。(图中以搜索bottleneck包为例)
选择满足需求的包或下载量最多的包,点击包名。
复制“To install this package with conda run:”下方的命令,并粘贴在终端中执行。
完成安装。
使用Anaconda中的Prompt
③ 使用pip安装包
→ 使用场景
当使用 conda install 无法进行安装时,可以使用pip进行安装。例如:see包。
→ 命令
pip install
注意:
如: pip install see 即安装see包。
→ 注意
pip只是包管理器,无法对环境进行管理。因此如果想在指定环境中使用pip进行安装包,则需要先切换到指定环境中,再使用pip命令安装包。
pip无法更新python,因为pip并不将python视为包。
pip可以安装一些conda无法安装的包;conda也可以安装一些pip无法安装的包。因此当使用一种命令无法安装包时,可以尝试用另一种命令。
② 模糊查找
conda search
注意: 是查找含有此字段的包名。此字段两边不加尖括号“<>”。
例如: conda search py 即查找含有“py”字段的包,有哪些版本可供安装。
获取当前环境中已安装的包信息
conda list
执行上述命令后将在终端显示当前环境已安装包的包名及其版本号。
安装包
① 在指定环境中安装包
conda install --name
注意:
①
②
例如: conda install --name python2 pandas 即在名为“python2”的环境中安装pandas包。
② 在当前环境中安装包
conda install
注意:
①
② 执行命令后在当前环境中安装包。
例如: conda install pandas 即在当前环境中安装pandas包。
② 卸载当前环境中的包
conda remove
注意:
①
② 执行命令后即在当前环境中卸载指定包。
例如: conda remove pandas 即在当前环境中卸载pandas包。
② 更新指定包
conda update
或
conda upgrade
注意:
①
② 更新多个指定包,则包名以空格隔开,向后排列。如: conda update pandas numpy matplotlib 即更新pandas、numpy、matplotlib包。
知乎“初学python者自学anaconda的正确姿势是什么??”猴子的回答
Anaconda Cheat Sheet
Anaconda官方网站
conda官方网站
pip维基百科
pip官方网站
YouTube视频:Pip vs Conda: Differences and Comparisons
virtualenv官方网站
macOS系统安装Anaconda的官方教程
Windows系统安装Anaconda的官方教程
Linux系统安装Anaconda的官方教程
conda官方使用指南
ref:https://zhuanlan.zhihu.com/p/32925500
[^1] https://www.anaconda.com/products/individual
[^2] https://docs.conda.io/en/latest/miniconda.html