为啥需要Anaconda
首先我们需要从python本身说起, 从根源寻找问题,
- 我们在使用python语言编写程序之前需要下载一个python解释器, 这才是python的本体
- 没了python解释器, python脚本也没办法运行, 那这个解释器在哪呢.就在你安装python的地方,比如C:\Users\Acring\AppData\Local\Programs\Python\Python36-32
目录下的python.exe, 就是Python解释器 - 解释器根据python的版本大概分为2和3. python2和3之间无法互相兼容, 也就是说用python2语法写出来的脚本不一定能在python3的解释器中运行.
- 除此之外还有个很重要的东西, Lib, 也就是python包文件, 包括自带的包和第三方包(而所有的第三方包都放在site-packages文件夹里面)
- 包集合中包含了自带的包和第三方包, 第三方包我们一般通过pip或者easy_install来下载, 当一个python环境中不包含这个包, 那么引用了这个包的程序不能在该python环境中运行.
即一个python环境中需要有一个解释器, 和一个包集合.
python环境解释完了, 那么接下来就要说明这样的环境究竟产生哪些问题, 因为anaconda正式为了解决这些问题而诞生的
- 到底该装 Python2 呢还是 Python3: python2和python3在语法上是不兼容的, 那我的机器上应该装python2还是python3呢, 可能一开始选一个学习就好了, 但是如果你要开发的程序必须使用python2而不能使用python3,那这时候你就不得不再下载一个python2, 那这时候环境变量该设谁的目录呢, 如果还是切换环境变量岂不是很麻烦.
- 包管理: 如果我在本地只有一个python环境那我所有程序用到的各种包都只能放到同一个环境中, 导致环境混乱, 另外当我将写好的程序放到另一电脑上运行时又会遇到缺少相关包, 需要自己手动一个个下载的情况, 实在是烦人, 要是能每个程序开发都选用不同的环境, 而开发好之后又能将该程序需要的环境(第三方包)都独立打包出来就好了.
是什么
Anaconda是一个用于科学计算的 Python 发行版,支持 Linux, Mac, Windows系统,提供了包管理与环境管理的功能,可以很方便地解决多版本 python 并存、切换以及各种第三方包安装问题。
Anaconda具有如下特点:
▪ 开源
▪ 安装过程简单
▪ 高性能使用Python和R语言
▪ 免费的社区支持
其特点的实现主要基于Anaconda拥有的:
▪ conda包
▪ 环境管理器
▪ 1,000+开源库
如果日常工作或学习并不必要使用1,000多个库,那么可以考虑安装Miniconda
要不要卸载旧的python: 一般情况下,除非官方消息明确允许,否则永远不要删除"原始"Python.在许多操作系统中,Python 是一个依赖项 ; 它必须留在身边.我不能代表Windows的旧版本,但一般情况下,如果你不确定是否需要它,请保留它.
下载anaconda
(1)官网下载
https://www.python.org/downloads/windows/
很多人说不推荐官网下载,我下载之后也不推荐,确实速度很慢(和网速也有关),还容易出事,计算机确实挺玄乎的,建议用清华镜像源,下的更快。
(2)清华镜像源下载
点击进入清华镜像网站,点击下载即可
找到最新的适合自己电脑系统的版本即可!
如何下载对应版本,x86-64是64位版本,x86是32位版本,你需要下载跟你电脑系统一致的版本。如果是MAC系统和Linux系统,下载相对应版本的即可。
Anaconda安装
Ubuntu
- 我安装的是: Anaconda3-5.3.1-Linux-x86.sh
bash Anaconda3-5.0.1-Linux-x86_64.sh
//此处的版本与下载的anaconda版本保持一致
然后,输入语句进行安装,安装过程中全部yes。
windows
如下图,注意不要装C盘
注意下面界面,第一个勾选之后会自动安装Path环境变量配置,但是我建议手动配置,不然后续出问题会很麻烦,所以不要打勾,第二个的英文翻译是:注册anaconda3作为系统python3.9,这将允许其他程序如visual studio pycharm的python工具、wing IDE、pydev和MSI二进制包,自动检测anaconda作为系统上主要python 3.9,建议打勾。
点击install开始安装,直到进度条结束,上面出现带有successfully字样即为成功
点击Next下一步,出现如下界面, 这两个勾不要打
按照安装程序提示一步步安装就好了, 安装完成之后会多几个应用
- Anaconda Navigtor :用于管理工具包和环境的图形用户界面,后续涉及的众多管理命令也可以在 Navigator 中手工实现。
- Jupyter notebook :基于web的交互式计算环境,可以编辑易于人们阅读的文档,用于展示数据分析的过程。
- qtconsole :一个可执行 IPython 的仿终端图形界面程序,相比 Python Shell 界面,qtconsole 可以直接显示代码生成的图形,实现多行代码输入执行,以及内置许多有用的功能和函数。
- spyder :一个使用Python语言、跨平台的、科学运算集成开发环境。
配置Anaconda环境变量
鼠标右击此电脑——属性——高级系统设置——环境变量——path——编辑——新建
- E:\你的路径\Anaconda3
- E:\你的路径\Anaconda\Scripts
- E:\你的路径\Anaconda\Library\mingw-w64\bin
- E:\你的路径\Anaconda\Library\usr\bin
- E:\你的路径\Anaconda\Library\bin
一定要添加这五条路径(第四条有的人有文件夹有的人没有文件夹,有的添加这条路径,没有的添加不添加都可以)
这五个环境变量中,1是Python需要,2是conda自带脚本,3是使用C with python的时候,5是jupyter notebook动态库。
管理conda
接下来均是以命令行模式进行介绍
- Windows用户请打开“Anaconda Prompt”(Windows 会在开始菜单或者桌面产生一个终端管理器(Anconda Prompt 字样))
- macOS和Linux用户请打开“Terminal”(“终端”)进行操作。
验证conda已被安装
conda --version
终端上将会以 conda 版本号 的形式显示当前安装conda的版本号。如: conda 3.11.0
注意:如果出现错误信息,则需核实是否出现以下情况:
- 使用的用户是否是安装Anaconda时的账户。
- 是否在安装Anaconda之后重启了终端。
- 如果还是出错,可以conda upgrade --all 先把所有工具包进行升级
更新conda至最新版本
conda update conda
执行命令后,conda将会对版本进行比较并列出可以升级的版本。同时,也会告知用户其他相关包也会升级到相应版本。
当较新的版本可以用于升级时,终端会显示 Proceed ([y]/n)? ,此时输入 y 即可进行升级。
查看conda帮助信息
conda --help
或
conda -h
卸载conda
① Linux 或 macOS
rm -rf ~/anaconda2
或
rm -rf ~/anaconda3
即删除Anaconda的安装目录。根据安装的Anaconda版本选择相应的卸载命令。
② Windows
控制面板 → 添加或删除程序 → 选择“Python X.X (Anaconda)” → 点击“删除程序”
注意:
- ① Python X.X:即Python的版本,如:Python 3.6。
- ② Windows 10的删除有所不同。
Anaconda、conda、pip、virtualenv的区别
Anaconda
Anaconda是一个包含180+的科学包及其依赖项的发行版本。其包含的科学包包括:conda, numpy, scipy, ipython notebook等。
conda
conda是包及其依赖项和环境的管理工具。
▪ 适用语言:Python, R, Ruby, Lua, Scala, Java, JavaScript, C/C++, FORTRAN。
▪ 适用平台:Windows, macOS, Linux
▪ 用途:
① 快速安装、运行和升级包及其依赖项。
② 在计算机中便捷地创建、保存、加载和切换环境。
如果你需要的包要求不同版本的Python,你无需切换到不同的环境,因为conda同样是一个环境管理器。仅需要几条命令,你可以创建一个完全独立的环境来运行不同的Python版本,同时继续在你常规的环境中使用你常用的Python版本。——Conda官方网站
▪ conda为Python项目而创造,但可适用于上述的多种语言。
▪ conda包和环境管理器包含于Anaconda的所有版本当中。
pip
pip是用于安装和管理软件包的包管理器。
▪ pip编写语言:Python。
▪ Python中默认安装的版本:
① Python 2.7.9及后续版本:默认安装,命令为 pip
② Python 3.4及后续版本:默认安装,命令为 pip3
▪ pip名称的由来:pip采用的是递归缩写进行命名的。其名字被普遍认为来源于2处:
① “Pip installs Packages”(“pip安装包”)
② “Pip installs Python”(“pip安装Python”)
virtualenv
virtualenv是用于创建一个独立的Python环境的工具。
▪ 解决问题:
当一个程序需要使用Python 2.7版本,而另一个程序需要使用Python 3.6版本,如何同时使用这两个程序?如果将所有程序都安装在系统下的默认路径,如:/usr/lib/python2.7/site-packages,当不小心升级了本不该升级的程序时,将会对其他的程序造成影响。
如果想要安装程序并在程序运行时对其库或库的版本进行修改,都会导致程序的中断。
在共享主机时,无法在全局 site-packages 目录中安装包。
▪ virtualenv将会为它自己的安装目录创建一个环境,这并不与其他virtualenv环境共享库;同时也可以选择性地不连接已安装的全局库。
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的功能。