目录
Python 是一种面向对象的解释型计算机程序设计语言,其使用,具有跨平台的特点,可以在 Linux、macOS 以及 Windows 系统中搭建环境并使用,其编写的代码在不同平台上运行时,几乎不需要做较大的改动,使用者无不受益于它的便捷性。
此外,Python 的强大之处在于它的应用领域范围之广,遍及人工智能、科学计算、Web 开发、系统运维、大数据及云计算、金融、游戏开发等。实现其强大功能的前提,就是 Python 具有数量庞大且功能相对完善的标准库和第三方库。通过对库的引用,能够实现对不同领域业务的开发。然而,正是由于库的数量庞大,对于管理这些库以及对库作及时的维护成为既重要但复杂度又高的事情。
一、什么是 Anaconda?
1、简介
Anaconda(官方网站)就是可以便捷获取包且对包能够进行管理,同时对环境可以统一管理的发行版本。Anaconda 包含了 conda、Python 在内的超过 180 个科学包及其依赖项。
2、特点
Anaconda 具有如下特点:
▪ 开源
▪ 安装过程简单
▪ 高性能使用 Python 和 R 语言
▪ 免费的社区支持
其特点的实现主要基于 Anaconda 拥有的:
▪ conda 包
▪ 环境管理器
▪ 1,000 + 开源库
如果日常工作或学习并不必要使用 1,000 多个库,那么可以考虑安装 Miniconda(下载界面请戳),这里不过多介绍 Miniconda 的安装及使用。
3、Anaconda、conda、pip、virtualenv 的区别
(1)Anaconda
Anaconda 是一个包含 180 + 的科学包及其依赖项的发行版本。其包含的科学包包括:conda, numpy, scipy, ipython notebook 等。
(2)conda
conda 是包及其依赖项和环境的管理工具。
▪ 适用语言:Python, R, Ruby, Lua, Scala, Java, JavaScript, C/C++, FORTRAN。
▪ 适用平台:Windows, macOS, Linux
▪ 用途:
① 快速安装、运行和升级包及其依赖项。
② 在计算机中便捷地创建、保存、加载和切换环境。
如果你需要的包要求不同版本的 Python,你无需切换到不同的环境,因为 conda 同样是一个环境管理器。仅需要几条命令,你可以创建一个完全独立的环境来运行不同的 Python 版本,同时继续在你常规的环境中使用你常用的 Python 版本。——Conda 官方网站
▪ conda 为 Python 项目而创造,但可适用于上述的多种语言。
▪ conda 包和环境管理器包含于 Anaconda 的所有版本当中。
(3)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”)
(4)virtualenv
virtualenv 是用于创建一个独立的Python 环境的工具。
▪ 解决问题:
- 当一个程序需要使用 Python 2.7 版本,而另一个程序需要使用 Python 3.6 版本,如何同时使用这两个程序?如果将所有程序都安装在系统下的默认路径,如:/usr/lib/python2.7/site-packages,当不小心升级了本不该升级的程序时,将会对其他的程序造成影响。
- 如果想要安装程序并在程序运行时对其库或库的版本进行修改,都会导致程序的中断。
- 在共享主机时,无法在全局 site-packages 目录中安装包。
▪ virtualenv 将会为它自己的安装目录创建一个环境,这并不与其他 virtualenv 环境共享库;同时也可以选择性地不连接已安装的全局库。
(5)pip 与 conda 比较
依赖项检查
- pip
- 不一定会展示所需其他依赖包。
- 安装包时或许会直接忽略依赖项而安装,仅在结果中提示错误。
- conda:
- 列出所需其他依赖包。
- 安装包时自动安装其依赖项。
- 可以便捷地在包的不同版本中自由切换。
- pip
环境管理
- pip:维护多个环境难度较大。
- conda:比较方便地在不同环境之间进行切换,环境管理较为简单。
对系统自带 Python 的影响
- pip:在系统自带 Python 中包的更新 / 回退版本 / 卸载将影响其他程序。
- conda:不会影响系统自带 Python。
适用语言
- pip:仅适用于 Python。
- conda:适用于 Python, R, Ruby, Lua, Scala, Java, JavaScript, C/C++, FORTRAN。
(6)conda 与 pip、virtualenv 的关系
conda结合了 pip 和 virtualenv 的功能。
二、Anaconda 的适用平台及安装条件
1、适用平台
Anaconda 可以在以下系统平台中安装和使用:
- Windows
- macOS
- Linux(x86 / Power8)
2、安装条件
- 系统要求:32 位或 64 位系统均可
- 下载文件大小:约 500MB
- 所需空间大小:3GB 空间大小(Miniconda 仅需 400MB 空间即可)
三、Anaconda 的安装步骤(直接看官方安装指导就好)
1、macOS 系统安装 Anaconda
- 图形界面安装
(1)前往官方下载页面下载。有两个版本可供选择:Python 3.6 和 Python 2.7,我下载的是前者。选择版之后点击 “64-Bit Graphical Installer” 进行下载。
(2)完成下载之后,双击下载文件,在对话框中 “Introduction”、“Read Me”、“License” 部分可直接点击下一步
(3)“Destination Select”部分选择 “Install for me only” 并点击下一步。
注意:若有错误提示信息 “You cannot install Anaconda in this location” 则重新选择 “Install for me only” 并点击下一步。
(4)“Installation Type”部分,可以点击 “Change Install Location” 来改变安装位置。标准的安装路径是在用户的家目录下。在这一步我没有改变安装位置。若选择默认安装路径,则直接点击 “Install” 进行安装。
(5)等待 “Installation” 部分结束,在 “Summary” 部分若看到 “The installation was completed successfully.” 则安装成功,直接点击 “Close” 关闭对话框。
(6)在 mac 的 Launchpad 中可以找到名为 “Anaconda-Navigator” 的图标,点击打开。
(7)若 “Anaconda-Navigator” 成功启动,则说明真正成功地安装了 Anaconda;如果未成功,请务必仔细检查以上安装步骤。
- 提示:“Anaconda-Navigator”中已经包含 “Jupyter Notebook”、“Jupyterlab”、“Qtconsole” 和“Spyder”。(图中的 “Rstudio” 是我后来安装的,但它默认出现在 “Anaconda-Navigator” 的启动界面,只需要点击 “Install” 便可安装。)
- Jupyter Notebook 有助于我们编写代码、运行代码以及获取代码的运行结果,特点是可以令我们便捷地为代码及其运行结果添加文档的描述、解释和说明。无论是学习还是工作,Jupyter Notebook 都是提高效率和学习、工作质量的利器。具体的使用,可以参见我的另一篇文章:
命令行安装
(1)前往官方下载页面下载。有两个版本可供选择:Python 3.6 和 Python 2.7,我下载的是前者。选择版之后点击 “64-Bit Command-Line Installer” 进行下载。
(2)完成下载之后,在 mac 的 Launchpad 中找到 “其他” 并打开“终端”。
- 安装 Python 3.6: bash ~/Downloads/Anaconda3-5.0.1-MacOSX-x86_64.sh
- 安装 Python 2.7: bash ~/Downloads/Anaconda2-5.0.1-MacOSX-x86_64.sh
- 注意:
- 首词 bash 也需要输入,无论是否用的 Bash shell。
- 如果你的下载路径是自定义的,那么把该步骤路径中的 ~/Downloads 替换成你自己的下载路径。
- 如果你将第 1 步下载的 .sh 文件重命名了,那么把该步骤路径中的 Anaconda3-5.0.1-MacOSX-x86_64.sh 或 Anaconda2-5.0.1-MacOSX-x86_64.sh 替换成你重命名后的文件名。
强烈建议:不要修改文件名。如果重命名,使用英文进行命名。
(3)安装过程中,看到提示 “In order to continue the installation process, please review the license agreement.”(“请浏览许可证协议以便继续安装。”),点击“Enter” 查看“许可证协议”。
(4)在 “许可证协议” 界面将屏幕滚动至底,输入 “yes” 表示同意许可证协议内容。然后进行下一步。
(5)安装过程中,提示 “Press Enter to confirm the location, Press CTRL-C to cancel the installation or specify an alternate installation directory.”(“按回车键确认安装路径,按’CTRL-C’取消安装或者指定安装目录。”)如果接受默认安装路径,则会显示 PREFIX=/home//anaconda<2 or 3> 并且继续安装。安装过程大约需要几分钟的时间。
- 建议:直接接受默认安装路径。
(6)安装器若提示 “Do you wish the installer to prepend the Anaconda install location to PATH in your /home//.bashprofile ?”(“你希望安装器添加 Anaconda 安装路径在 **/home//.bashprofile** 文件中吗?”),建议输入 “yes”。
- 注意:
- 路径 /home//.bash_profile 中 即进入到家目录后你的目录名。
- 如果输入 “no”,则需要手动添加路径。添加 export PATH=”//bin:$PATH” 在 .bashrc 或者 .bash_profile 中。其中, 替换为你真实的 Anaconda 安装路径。
(7)当看到 “Thank you for installing Anaconda!” 则说明已经成功完成安装。
(8)验证安装结果。可选用以下任意一种方法:
- 在终端中输入命令 condal list ,如果 Anaconda 被成功安装,则会显示已经安装的包名和版本号。
- 在终端中输入 python 。这条命令将会启动 Python 交互界面,如果 Anaconda 被成功安装并且可以运行,则将会在 Python 版本号的右边显示 “Anaconda custom (64-bit)”。退出 Python 交互界面则输入 exit() 或 quit() 即可。
- 在终端中输入 anaconda-navigator 。如果 Anaconda 被成功安装,则 Anaconda Navigator 的图形界面将会被启动。
2、Windows 系统安装 Anaconda
(1)前往官方下载页面下载。有两个版本可供选择:Python 3.6 和 Python 2.7,选择版之后根据自己操作系统的情况点击 “64-Bit Graphical Installer” 或“32-Bit Graphical Installer”进行下载。
(2)完成下载之后,双击下载文件,启动安装程序。
- 注意:
- 如果在安装过程中遇到任何问题,那么暂时地关闭杀毒软件,并在安装程序完成之后再打开。
- 如果在安装时选择了 “为所有用户安装”,则卸载 Anaconda 然后重新安装,只为“我这个用户” 安装。
(3)选择 “Next”。
(4)阅读许可证协议条款,然后勾选 “I Agree” 并进行下一步。
(5)除非是以管理员身份为所有用户安装,否则仅勾选 “Just Me” 并点击“Next”。
(6)在 “Choose Install Location” 界面中选择安装 Anaconda 的目标路径,然后点击“Next”。
- 注意:
- 目标路径中不能含有空格,同时不能是“unicode”编码。
- 除非被要求以管理员权限安装,否则不要以管理员身份安装。
(7)在 “Advanced Installation Options” 中不要勾选 “Add Anaconda to my PATH environment variable.”(“添加 Anaconda 至我的环境变量。”)。因为如果勾选,则将会影响其他程序的使用。如果使用 Anaconda,则通过打开 Anaconda Navigator 或者在开始菜单中的 “Anaconda Prompt”(类似 macOS 中的 “终端”)中进行使用。
如果打算使用多个版本的 Anaconda 或者多个版本的 Python,不要勾选 “Register Anaconda as my default Python 3.6”。
然后点击 “Install” 开始安装。如果想要查看安装细节,则可以点击“Show Details”。
(8)点击 “Next”。
(9)进入 “Thanks for installing Anaconda!” 界面则意味着安装成功,点击 “Finish” 完成安装。
- 注意:如果你不想了解 “Anaconda 云” 和“Anaconda 支持”,则可以不勾选“Learn more about Anaconda Cloud” 和 “Learn more about Anaconda Support”。
(10)验证安装结果。可选以下任意方法:
- “开始 → Anaconda3(64-bit)→ Anaconda Navigator”,若可以成功启动 Anaconda Navigator 则说明安装成功。
- “开始 → Anaconda3(64-bit)→ 右键点击 Anaconda Prompt → 以管理员身份运行”,在 Anaconda Prompt 中输入 conda list ,可以查看已经安装的包名和版本号。若结果可以正常显示,则说明安装成功。
3、Linux 系统安装 Anaconda
(1)前往官方下载页面下载。有两个版本可供选择:Python 3.6 和 Python 2.7。
(2)启动终端,在终端中输入命令 md5sum /path/filename 或 sha256sum /path/filename
- 注意:将该步骤命令中的 /path/filename 替换为文件的实际下载路径和文件名。其中,path 是路径,filename 为文件名。
- 强烈建议:
- 路径和文件名中不要出现空格或其他特殊字符。
- 路径和文件名最好以英文命名,不要以中文或其他特殊字符命名。
(3)根据 Python 版本的不同有选择性地在终端输入命令:
- Python 3.6: bash ~/Downloads/Anaconda3-5.0.1-Linux-x86_64.sh
- Python 2.7: bash ~/Downloads/Anaconda2-5.0.1-Linux-x86_64.sh
注意:
- 首词 bash 也需要输入,无论是否用的 Bash shell。
- 如果你的下载路径是自定义的,那么把该步骤路径中的 ~/Downloads 替换成你自己的下载路径。
- 除非被要求使用 root 权限,否则均选择 “Install Anaconda as a user”。
(4) 安装过程中,看到提示 “In order to continue the installation process, please review the license agreement.”(“请浏览许可证协议以便继续安装。”),点击“Enter” 查看“许可证协议”。
(5)在 “许可证协议” 界面将屏幕滚动至底,输入 “yes” 表示同意许可证协议内容。然后进行下一步。
(6)安装程序会提示您单击 Enter 接受默认安装位置,按 CTRL-C 取消安装,或指定备用安装目录。如果您接受默认安装位置,安装程序将显示“PREFIX=/home/
注意:我们建议您接受默认安装位置。不要为 Anaconda/Miniconda 安装选择 /usr 路径。
(7)安装程序提示“您是否希望安装程序通过运行 conda init 来初始化 Anaconda3?”
我们建议“是”。
注意:如果您输入“no”,则 conda 根本不会修改您的 shell 脚本。为了在安装过程完成后进行初始化,首先运行 然后运行。
请参阅常见问题解答。source
(8)当看到 “Thank you for installing Anaconda<2 or 3>!” 则说明已经成功完成安装。
(9)关闭并打开终端窗口以使安装生效,或者您可以输入命令.source ~/.bashrc
(10)要控制每个 shell 会话是否激活了基本环境,请运行. 要在没有默认激活基本环境的情况下从任何地方运行 conda,请使用. 这仅在您先运行时才有效。
conda config --set auto_activate_base False or True
conda config --set auto_activate_base False
conda init
注意:conda init 在 conda 版本 4.6.12 及更高版本中可用。
(11)验证您的安装。
注意如果您安装多个版本的 Anaconda,只要您没有更改默认安装路径,系统就会默认为最新版本。
四、管理 conda
接下来均是以命令行模式进行介绍,Windows 用户请打开 “Anaconda Prompt”;macOS 和 Linux 用户请打开 “Terminal”(“终端”)进行操作。
1、验证 conda 已被安装
终端上将会以 conda 版本号 的形式显示当前安装 conda 的版本号。如: conda 3.11.0
- 注意:如果出现错误信息,则需核实是否出现以下情况:
① 使用的用户是否是安装 Anaconda 时的账户。
② 是否在安装 Anaconda 之后重启了终端。
2、更新 conda 至最新版本
执行命令后,conda 将会对版本进行比较并列出可以升级的版本。同时,也会告知用户其他相关包也会升级到相应版本。
当较新的版本可以用于升级时,终端会显示 Proceed ([y]/n)? ,此时输入 y 即可进行升级。
五、管理环境
接下来均是以命令行模式进行介绍,Windows 用户请打开 “Anaconda Prompt”;macOS 和 Linux 用户请打开 “Terminal”(“终端”)进行操作。
1、创建新环境
conda create --name <env_name> <package_names>
- 注意:
即创建的环境名。建议以英文命名,且不加空格,名称两边不加尖括号 “<>”。 即安装在环境中的包名。名称两边不加尖括号 “<>”。
如果要安装指定的版本号,则只需要在包名后面以 \= 和版本号的形式执行。如: conda create —name python2 python=2.7 ,即创建一个名为 “python2” 的环境,环境中安装版本为 2.7 的 python。
如果要在新创建的环境中创建多个包,则直接在
—name 同样可以替换为 -n 。
提示:默认情况下,新创建的环境将会被保存在 /Users/
2、切换环境
Linux 或 macOS
source activate <env_name>
Windows
activate <env_name>
提示
- 如果创建环境后安装 Python 时没有指定 Python 的版本,那么将会安装与 Anaconda 版本相同的 Python 版本,即如果安装 Anaconda 第 2 版,则会自动安装 Python 2.x;如果安装 Anaconda 第 3 版,则会自动安装 Python 3.x。
- 当成功切换环境之后,在该行行首将以 “(envname)” 或 “[env_name]” 开头。其中,“env_name” 为切换到的环境名。如:在 macOS 系统中执行 **_source active python2** ,即切换至名为 “python2” 的环境,则行首将会以 (python2) 开头。
3、退出环境至 root
Linux 或 macOS
source deactivate
Windows
conda deactivate
提示
当执行退出当前环境,回到 root 环境命令后,原本行首以 “(env_name)” 或 “[env_name]” 开头的字符将不再显示。
4、显示已创建环境
conda info --envs
#或
conda info -e
#或
conda env list
- 例如:
结果中星号 “*” 所在行即为当前所在环境。macOS 系统中默认创建的环境名为 “base”。
5、复制环境
conda create --name <new_env_name> --clone <copied_env_name>
- 注意:
即为被复制 / 克隆环境名。环境名两边不加尖括号 “<>”。 即为复制之后新环境的名称。环境名两边不加尖括号 “<>”。 - conda create —name py2 —clone python2 ,即为克隆名为 “python2” 的环境,克隆后的新环境名为 “py2”。此时,环境中将同时存在“python2” 和“py2”环境,且两个环境的配置相同。
6、删除环境
conda remove --name <env_name> --all
- 注意:
为被删除环境的名称。环境名两边不加尖括号 “<>”。
六、管理包
1、查找可供安装的包版本
(1)精确查找
conda search --full-name
- 注意:
① —full-name 为精确查找的参数。
②
- 例如: conda search —full-name python 即查找全名为 “python” 的包有哪些版本可供安装。
(2)模糊查找
source deactivate
- 注意: 是查找含有此字段的包名。此字段两边不加尖括号 “<>”。
- 例如: conda search py 即查找含有 “py” 字段的包,有哪些版本可供安装。
2、获取当前环境中已安装的包信息
conda list
执行上述命令后将在终端显示当前环境已安装包的包名及其版本号。
3、安装包
(1)在指定环境中安装包
conda install --name <env_name> <package_name>
- 注意:
即将包安装的指定环境名。环境名两边不加尖括号 “<>”。 即要安装的包名。包名两边不加尖括号 “<>”。
例如: conda install —name python2 pandas 即在名为 “python2” 的环境中安装 pandas 包。
(2)在当前环境中安装包
conda install <package_name>
- 注意:
即要安装的包名。包名两边不加尖括号 “<>”。 - 执行命令后在当前环境中安装包。
例如: conda install pandas 即在当前环境中安装 pandas 包。
(3)使用 pip 安装包
使用场景:当使用 conda install 无法进行安装时,可以使用 pip 进行安装。例如:see 包。
pip install <package_name>
- 注意:
为指定安装包的名称。包名两边不加尖括号 “<>”。 - 如:pip install see 即安装 see 包。
注意:
- pip 只是包管理器,无法对环境进行管理。因此如果想在指定环境中使用 pip 进行安装包,则需要先切换到指定环境中,再使用 pip 命令安装包。
- pip 无法更新 python,因为 pip 并不将 python 视为包。
- pip 可以安装一些 conda 无法安装的包;conda 也可以安装一些 pip 无法安装的包。因此当使用一种命令无法安装包时,可以尝试用另一种命令。
(3)从http://Anaconda.org安装包
使用场景:当使用 conda install 无法进行安装时,可以考虑从http://Anaconda.org中获取安装包的命令,并进行安装。
注意
- 从http://Anaconda.org安装包时,无需注册。
- 在当前环境中安装来自于http://Anaconda.org的包时,需要通过输入要安装的包在http://Anaconda.org中的路径作为获取途径(channel)。查询路径的方式如下:
① 在浏览器中输入:http://anaconda.org
② 在新页面 “Anaconda Cloud” 的上方搜索框中输入要安装的包名,然后点击右边 “放大镜” 标志。
- 搜索结果中有数以千计的包可供选择,此时点击 “Downloads” 可根据下载量进行排序,最上面的为下载最多的包。(图中以搜索 bottleneck 包为例)
- 选择满足需求的包或下载量最多的包,点击包名。
- 复制 “To install this package with conda run:” 下方的命令,并粘贴在终端中执行。
- 完成安装。
4. 卸载包
① 卸载指定环境中的包
conda remove --name
- 注意:
①
②
- 例如: conda remove —name python2 pandas 即卸载名为 “python2” 中的 pandas 包。
② 卸载当前环境中的包
conda remove
- 注意:
①
② 执行命令后即在当前环境中卸载指定包。
- 例如: conda remove pandas 即在当前环境中卸载 pandas 包。
5. 更新包
① 更新所有包
或
- 建议:在安装 Anaconda 之后执行上述命令更新 Anaconda 中的所有包至最新版本,便于使用。
② 更新指定包
conda update
或
conda upgrade
- 注意:
①
② 更新多个指定包,则包名以空格隔开,向后排列。如: conda update pandas numpy matplotlib 即更新 pandas、numpy、matplotlib 包。