NJU1healer的个人博客分享 http://blog.sciencenet.cn/u/NJU1healer

博文

Anaconda系列(一)

已有 8010 次阅读 2020-4-28 11:09 |个人分类:Anaconda|系统分类:科研笔记

(一)Anacond的介绍

  (1)简介

       Anaconda指的是一个开源的Python发行版本,其包含了conda、Python等180多个科学包及其依赖项。 因为包含了大量的科学包,Anaconda 的下载文件比较大(约 531 MB),如果只需要某些包,或者需要节省带宽或存储空间,也可以使用Miniconda这个较小的发行版(仅包含conda和 Python)

       Conda是一个开源的包、环境管理器,可以用于在同一个机器上安装不同版本的软件包及其依赖,并能够在不同的环境之间切换

       Anaconda包括Conda、Python以及一大堆安装好的工具包,比如:numpy、pandas等

       Miniconda包括Conda、Python

       Anacond下载,下载地址:https://www.anaconda.com/download/

       Anaconda 是跨平台的,有 Windows、macOS、Linux 版本,我们这里以 Windows 版本为例,点击那个 Windows 图标。

 (2) 特点:

  •  开源

  • 安装过程简单

  • 高性能使用Python和R语言

  • 免费的社区支持

其特点的实现主要基于Anaconda拥有的:

  • conda包

  • 环境管理器

  • 1,000+开源库

       如果日常工作或学习并不必要使用1,000多个库,那么可以考虑安装Miniconda(图形界面下载及命令行安装请戳),这里不过多介绍Miniconda的安装及使用。

(3)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官方网站

    1. 快速安装、运行和升级包及其依赖项。

    2. 在计算机中便捷地创建、保存、加载和切换环境。

  • 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环境的工具。

  • 解决问题:

    1. 当一个程序需要使用Python 2.7版本,而另一个程序需要使用Python 3.6版本,如何同时使用这两个程序?

    2. 如果将所有程序都安装在系统下的默认路径,如:/usr/lib/python2.7/site-packages,当不小心升级了本不该升级的程序时,将会对其他的程序造成影响。

    3. 如果想要安装程序并在程序运行时对其库或库的版本进行修改,都会导致程序的中断。

    4. 在共享主机时,无法在全局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的功能。

(二)Windows系统安装Anaconda

  1. 前往官方下载页面下载。有两个版本可供选择:Python 3.6 和 Python 2.7,选择版之后根据自己操作系统的情况点击“64-Bit Graphical Installer”或“32-Bit Graphical Installer”进行下载。

  2. 完成下载之后,双击下载文件,启动安装程序。

  • 注意:

    1. 如果在安装过程中遇到任何问题,那么暂时地关闭杀毒软件,并在安装程序完成之后再打开。

    2. 如果在安装时选择了“为所有用户安装”,则卸载Anaconda然后重新安装,只为“我这个用户”安装。

  1. 选择“Next”。

  2. 阅读许可证协议条款,然后勾选“I Agree”并进行下一步。

  3. 除非是以管理员身份为所有用户安装,否则仅勾选“Just Me”并点击“Next”。

  4. 在“Choose Install Location”界面中选择安装Anaconda的目标路径,然后点击“Next”。

  • 注意:

    1. 目标路径中不能含有空格,同时不能是“unicode”编码。

    2. 除非被要求以管理员权限安装,否则不要以管理员身份安装。


  1. 在“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”。


  2. 点击“Next”。

  3. 进入“Thanks for installing Anaconda!”界面则意味着安装成功,点击“Finish”完成安装。

  • 注意:如果你不想了解“Anaconda云”和“Anaconda支持”,则可以不勾选“Learn more about Anaconda Cloud”和“Learn more about Anaconda Support”。

  1. 验证安装结果。可选以下任意方法:

    1. “开始 → Anaconda3(64-bit)→ Anaconda Navigator”,若可以成功启动Anaconda Navigator则说明安装成功。

    2. “开始 → Anaconda3(64-bit)→ 右键点击Anaconda Prompt → 以管理员身份运行”,在Anaconda Prompt中输入conda list,可以查看已经安装的包名和版本号。若结果可以正常显示,则说明安装成功。

(三)管理conda

       接下来均是以命令行模式进行介绍,Windows用户请打开“Anaconda Prompt”;macOS和Linux用户请打开“Terminal”(“终端”)进行操作。

(1)验证conda已被安装

         conda --version

        终端上将会conda 版本号的形式显示当前安装conda的版本号。如conda 3.11.0

(2)更新conda至最新版本

       conda update conda

       执行命令后,conda将会对版本进行比较并列出可以升级的版本。同时,也会告知用户其他相关包也会升级到相应版本。

       当较新的版本可以用于升级时,终端会显示Proceed ([y]/n)?,此时输入y即可进行升级。

(四)管理环境

       接下来均是以命令行模式进行介绍,Windows用户请打开“Anaconda Prompt”;macOS和Linux用户请打开“Terminal”(“终端”)进行操作。

(1)创建新环境

conda create --name <env_name> <package_names>

conda create --name <env_name> <package_names>

注意:

       <env_name>即创建的环境名。建议以英文命名,且不加空格,名称两边不加尖括号“<>”。

       <package_names>即安装在环境中的包名。名称两边不加尖括号“<>”。

       --name同样可以替换为-n。

       如果要安装指定的版本号,则只需要在包名后面以=和版本号的形式执行。如:conda create --name    python2 python=2.7,即创建一个名为“python2”的环境,环境中安装版本为2.7的python。

       如果要在新创建的环境中创建多个包,则直接在<package_names>后以空格隔开,添加多个包名即可。如:conda create -n python3 python=3.5 numpy pandas,即创建一个名为“python3”的环境,环境中安装版本为3.5的python,同时也安装了numpy和pandas。

       提示:默认情况下,新创建的环境将会被保存在/Users/<user_name>/anaconda3/env目录下,其中,<user_name>为当前用户的用户名。

(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。

      当成功切换环境之后,在该行行首将以“(env_name)”或“[env_name]”开头。其中,“env_name”为切换到的环境名。如:在macOS系统中执行source active python2,即切换至名为“python2”的环境,则行首将会以(python2)开头。

(3)退出环境至root

① Linux 或 macOS


source deactivate

② Windows


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>

   注意

      <copied_env_name>即为被复制/克隆环境名。环境名两边不加尖括号“<>”

     <new_env_name>即为复制之后新环境的名称。环境名两边不加尖括号“<>”

      如:conda create --name py2 --clone python2即为克隆名为“python2”的环境,克隆后的新环境名为“py2”。此时,环境中将同时存在“python2”和“py2”环境,且两个环境的配置相同

(6)删除环境


conda remove --name <env_name> --all

   注意:<env_name>为被删除环境的名称。环境名两边不加尖括号“<>”

(7)实例展示,整体流程来一遍(以windows为例)

       由于不同的项目需要用不同的python版本,于是使用Anaconda来进行版本管理,现记录一下经验:在官网下载并安装好Anaconda以后(非常简单,此处不赘述):

1. 查看Python环境

conda info --env可以看到所有python环境,前面有个‘*’的代表当前环境:

image.png

2.创建Python环境

conda create --name python35 python=3.5  代表创建一个python3.5的环境,我们把它命名为python35

image.png

image.png

安装成功后的消息:

image.png

现在我们再用conda info --env看看环境:

image.png

出现了,创建成功了,没毛病。


3.管理和使用python环境

使用 activate python35 来激活刚才创建的环境:

image.png

尝试使用pip install numpy来给这个环境安装一个常用的包:

image.png

当然也可以用conda install numpy来安装,但是会同时安装很多相关的包,在此就不演示了。

在简单的熟悉了以后,就会发现用anaconda来进行python环境的控制真的是非常方便,其实anaconda环境是有物理路径的,如下,你会发现这和我们之前conda info --env的list是一样的:

image.png

之后我们删除python35 : conda remove -n python35 --all

image.png

再看文件夹,果然已经被删除了:

image.png

(六)管理包

(1)查找可供安装的包版本

① 精确查找

conda search --full-name <package_full_name>

注意:

       --full-name为精确查找的参数。

      <package_full_name>是被查找包的全名。包名两边不加尖括号“<>”

      例如:conda search --full-name python即查找全名为“python”的包有哪些版本可供安装。

② 模糊查找

conda search <text>

注意:<text>是查找含有此字段的包名。此字段两边不加尖括号“<>”

      例如:conda search py即查找含有“py”字段的包,有哪些版本可供安装

(2) 获取当前环境中已安装的包信息

conda list

    执行上述命令后将在终端显示当前环境已安装包的包名及其版本号。

(3)安装包

在指定环境中安装包

conda install --name <env_name> <package_name>

注意:

       <env_name>即将包安装的指定环境名。环境名两边不加尖括号“<>”

       <package_name>即要安装的包名。包名两边不加尖括号“<>”

      例如:conda install --name python2 pandas即在名为“python2”的环境中安装pandas包。

在当前环境中安装包

conda install <package_name>

注意:

       <package_name>即要安装的包名。包名两边不加尖括号“<>”。

      执行命令后在当前环境中安装包。

      例如:conda install pandas即在当前环境中安装pandas包

使用pip安装包

→ 使用场景

      当使用conda install无法进行安装时,可以使用pip进行安装。例如:see包

→ 命令


     pip install <package_name>

     注意:<package_name>为指定安装包的名称。包名两边不加尖括号“<>”

     如:pip install see即安装see包。

注意

       pip只是包管理器,无法对环境进行管理。因此如果想在指定环境中使用pip进行安装包,则需要先切换到指定环境中,再使用pip命令安装包。

      pip无法更新python,因为pip并不将python视为包。

      pip可以安装一些conda无法安装的包;conda也可以安装一些pip无法安装的包。因此当使用一种命令无法安装包时,可以尝试用另一种命令。

④ 从Anaconda.org安装包

→ 使用场景

      当使用conda install无法进行安装时,可以考虑从Anaconda.org中获取安装包的命令,并进行安装。

→ 注意

      从Anaconda.org安装包时,无需注册。

      在当前环境中安装来自于Anaconda.org的包时,需要通过输入要安装的包在Anaconda.org中的路径作为获取途径(channel)。查询路径的方式如下:

      在浏览器中输入:http://anaconda.org,或直接点击Anaconda.org

      在新页面“Anaconda Cloud”的上方搜索框中输入要安装的包名,然后点击右边“放大镜”标志。

      搜索结果中有数以千计的包可供选择,此时点击“Downloads”可根据下载量进行排序,最上面的为下载最多的包。(图中以搜索bottleneck包为例)

     选择满足需求的包或下载量最多的包,点击包名。

     复制“To install this package with conda run:”下方的命令,并粘贴在终端中执行。完成安装。

(4)卸载包

卸载指定环境中的包

conda remove --name <env_name> <package_name>

注意:

       <env_name>即卸载包所在指定环境的名称。环境名两边不加尖括号“<>”。

       <package_name>即要卸载包的名称。包名两边不加尖括号“<>”。

       例如:conda remove --name python2 pandas即卸载名为“python2”中的pandas包。

卸载当前环境中的包

conda remove <package_name>

注意:

       <package_name>即要卸载包的名称。包名两边不加尖括号“<>”。

      执行命令后即在当前环境中卸载指定包。

      例如:conda remove pandas即在当前环境中卸载pandas包。

(5)更新包

① 更新所有包

conda update --all   或   conda upgrade --all

建议:在安装Anaconda之后执行上述命令更新Anaconda中的所有包至最新版本,便于使用。

② 更新指定包  

conda update <package_name> 或  conda upgrade <package_name>

注意:

     <package_name>为指定更新的包名。包名两边不加尖括号“<>”。

     更新多个指定包,则包名以空格隔开,向后排列。如:conda update pandas numpy matplotlib即更新pandas、numpy、matplotlib包。


    点滴分享,福泽你我!Add oil!

【参考】

(1)Anaconda介绍、安装及使用教程:https://www.jianshu.com/p/62f155eb6ac5

(2)Anaconda 创建、管理python环境:https://blog.csdn.net/u014628771/article/details/80066624

(3)Anaconda详细安装教程(带图文):https://blog.csdn.net/ITLearnHall/article/details/81708148

(4)Anaconda的安装及其环境变量的配置https://blog.csdn.net/z2858539804/article/details/81407456





https://wap.sciencenet.cn/blog-3428464-1230545.html

上一篇:范数
下一篇:Anaconda系列(二)
收藏 IP: 171.127.103.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...
扫一扫,分享此博文

全部作者的其他最新博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-4-19 17:00

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部