分享

Python学习的路上,Anaconda为你增添遮天神翼

 股海无涯苦作舟 2021-11-11

一、背景

       最近在学习python,发现在本地搭建python环境的时候,要是想要同时搭建不同python版本的环境,就比较麻烦,很容易就出现冲突了,很是头疼。然后光明就出现这山重水复疑无路的时候,同事给我推荐了包管理以及环境管理神器:Anaconda

说明:建议你在自己的电脑上面的步骤亲自跟着敲一遍。虽然你不一定能一次性把这些命令全部记住,但是不用担心,我们没必要把所有的命令都一次性全部记住,随着我们使用它们的频率越来越高,就会渐渐的都记在脑海里了。实在记不住的,要用的时候再来这里查也是可以的。现在我们最重要要做到的就是跟着下面步骤操作并理解了每一步是干啥的。

二、什么是Anaconda?

  Anaconda是“蟒蛇”的意思,Nicki Minaj妮琪·米娜有首歌就叫《Anaconda》,表达像蟒蛇一样妖娆、性感的身体。图片

所以我们看下面Anaconda的官方图标就像一个首尾相互咬住的“蟒蛇”.

图片

三、为什么需要Anaconda?

我已在本地安装了 Python,那我为啥还需要 Anaconda?有如下三个原因

  1. Anaconda 中集成了很多常用数据开发包,它附带了 Python、conda以及 150 多个其他包及其依赖项。

  2. 包管理

    Anaconda 是在 conda(一个包和环境管理器)上发展出来的。

    在数据分析中,我们会用到很多第三方包,而conda可以很好的帮助我们在计算机上管理这些包,包括安装、更新和卸载包。

  3. 环境管理

    比如你在一个项目中用了 Python 2,而另一个项目中使用Python 3,如果直接同时安装两个版本的Python可能会造成许多错误和混乱。这时 conda就可以帮助我们为不同的项目建立不一样的运行环境。

    还有很多项目使用的包版本不同,例如我们不可能同时安装两个 Numpy 版本,而conda可以帮我们为每个 Numpy 版本创建一个环境,然后不同版本的项目在对应环境中工作。

四、怎么安装Anaconda?

        Anaconda 可用于多个平台( Mac OS X Windows和 Linux)。我们可以在它的官网找到安装程序以及安装说明。根据操作系统的位数(是32位还是64位)选择对应的版本下载。(Anaconda已不再支持Windows XP)

官网地址:https://www./download/

如果不能忍受官网地址下载太慢,可以在我公众号:[阿豪聊干货],中回复“anaconda”从网盘下.Anaconda 的安装包比较大(约 500 MB),因为它附带了 Python 中最常用的数据开发包。

若你的计算机上已经安装了 Python,安装Anaconda不会对你的计算机有任何影响。实际上,程序脚本使用的默认 Python 就是 Anaconda 集成的 Python。

注意:若你的系统是windows 10,在安装Anaconda的时候,要右击安装软件→选择以管理员的身份运行。

图片

安装完成后,在windows上按下图打开 Anaconda Prompt ( Mac 下的终端就集成了Anaconda Prompt),后文们会将Anaconda Prompt统一称为“终端”

图片

注意:若你的系统是windows 10,请按照下图打开Anaconda Prompt

图片

若你是win10系统,并且没有按上图打开,在控制台中会报如下错误信息:

图片

若安装后在Anaconda Prompt中无法使用Conda命令,解决方法传送门: https://zhuanlan.zhihu.com/p/34337889

若终端中可以使用conda命令,请接着进行下面操作:

初次安装好的软件包版本一般都比较旧,为了避免后来使用出现不必要的异常,我们需要首先更新下所有包。在终端输入如下命令:

conda upgrade --all

接着在提示是否更新的时候输入 y继续进行更新。配置下载包使用清华仓库镜像,这样更新会快一些 

图片

仓库地址:https://mirrors.tuna./anaconda/pkgs/free/

若以上命令执行出错,解决办法传送门:https://zhuanlan.zhihu.com/p/34337889

五、怎么管理包?

  1. 安装包

      conda install package_name

    例如,要安装 numpy,在终端中输入:

    conda install numpy

    我们还可以同时安装多个包。类似 conda install numpy pandas  命令会同时安装所有指定的这些包。

    conda 会自动为我们安装包依赖项。例如,scipy 依赖于 numpy,因为它需要 numpy包。所以若我们安装 scipy,则 conda 还会自动帮我们安装 numpy包(已安装的话不会重复安装)。

  2. 卸载包

     conda remove package_name

    该命令中的package_name是指我们要卸载包名称,例如我们想卸载numpy包:

    conda remove numpy
  3. 更新包

     conda update package_name

    如果我们想更新环境中所有包(这样做经常很有必要)使用如下命令:

    conda update --all
  4. 列出所有已安装的包

     conda list
  5. 查找包

    如果我们不知道要找的包的全名称,我么可以尝试使用 conda search search_term 进行搜索。比如,我想安装numpy,但我不知道确切的包名称。我们可以这样尝试:

    conda search num

六、怎么管理环境

我们知道conda 可以为不同的项目建立不一样的运行环境,首先你要安装nb_conda用于将notebook自动关联到nb_conda的环境:

  conda install nb_conda

并在提示是否更新的时候输入 y 让安装继续。

  1. 环境创建

     conda create -n envName package_name

    命令中,envName 是我们设置环境的名称(-n 是说该选项后的envName是我们要创建环境的名称),package_name 是我们要安装到将要创建的环境中的包名称。

    比如,我们要创建环境名称为 py3 的环境并在其中安装 python 3.5,使用如下命令 :

      conda create -n py3 python=3.5

    图片

  2. 创建环境时我们可以指定要安装在环境中的 Python 版本

    当我们同时使用 Python 2.x 和 Python 3.x 中的代码时这很有用。这就要创建具有特定版本 Python 的环境,比如创建环境名称为py3,并安装最新版本的Python3命令:

    conda create -n py3 python=3

    当然我们也可以这样创建环境名称为py2,并在该环境中安装最新版本的Python2:

      conda create -n py2 python=2

    因为我们的项目要求不同,有时会用Python2,还有时会用Python3。所以我们需要在自己计算机上创建这两个环境,并分别取类似这样的环境名称:py2,py3。这样我们就可以根据不同的项目轻松切换不同版本的python。

    如果我们要安装特定版本(例如 Python 3.5),请使用:

    conda create -n py python=3.5
  3. 进入环境

    在 OSX/Linux 上我们使用 source activate my_env_name 进入环境。在 Windows 上我们使用 activate my_env_name进入环境。

    进入环境后,我们会在终端提示符中看到当前环境名称,下图说明我们进入py3的环境(这里的py3是我们上面创建环境时自己起的名称,你可以随意起自己喜欢的名字)。图片

    进入环境后,我们用conda list 来查看环境中默认安装的几个包:图片

    在对应环境中安装其他包的命令与前面一样:

      conda install package_name

    不过,这种情况下我们安装的特定包仅在该环境里才能用

  4. 退出环境

    在 OSX/Linux 上的终端中输入:

    source deactivate

     Windows 上在终端中输入:

      deactivate
  5. 共享环境

    共享环境是工作中非常有用,它能让其他开发人员一键安装所有你在代码中使用的包,并且还能确保这些包的版本正确和你使用的一致。例如你开发了一个电商平台数据分析系统,你要把项目提交给负责项目部署的王五让他来给你部署项目,但是这货并不知道你开发时都使用了哪些依赖包及python版本,这可如何是好?

    这时候你就可以在当前的环境的终端中执行 conda env export -f environment.yml 或者conda env export > environment.yml命令将当前的环境以及依赖包等描述保存到指定的YAML文件(包括Pyhton版本以及所有依赖包的名称和版本)。

    命令中的前半部分部分 conda env export 用于输出环境中的所有包的名称和版本信息(包括 Python 版本)。这样在我们指定的路径下可以看到导出的环境文

    图片

    我们在 GitHub 等开源仓库上共享代码时,最好以这样的方式同时创建环境文件并将其上传到代码库中。这可以让别人很轻松地安装你的代码及其所有依赖项。

    导出环境文件后,在其他电脑环境中怎么使用呢?

    首先我们在终端中进入你的环境,比如activate py3,然后再使用如下命令更新我们的环境:conda env update -f /path/to/environment.yml

    图片对于那些兵不使用 conda 的用户,我通常还可以使用 pip freeze > environment.txt 导出一个txt文件并将其上传到代码库中。

    操作传送门:https://pip./en/stable/reference/pip_freeze/

    举个例子我们可能更容易理解这个使用场景:

    首先,我们在自己电脑上的conda中将自己项目的环境及依赖导出成environment.txt 文件:图片

    然后我们将该文件上传到项目的代码库中,项目其他开发人员在他的电脑上即使没有安装conda也能使用这个文件来安装和我们一样的开发环境,他只需要在自己的电脑上进入python命令环境,而后运行如下命令就可以安装该项目所依赖的包:

    pip install -r /path/requirements.txt

    其中/path/requirements.txt是此文件在你电脑种的实际路径。

  6. 列出环境

    当我们创建的环境越来越多,我们有时候会忘记自己创建的环境名称,这时我们用 conda env list 命令就可以列出所有已经创建的环境。

    我们能看到如下环境列表,而你当前所在环境的旁边会有一个星号。默认的环境(即当我们不选定环境时使用的环境)名称为 root。

    图片

  7. 删除环境

    如果我们不再使用某个环境,使用如下命令删除指定的环境:(在这里环境名为 envName)

      conda env remove -n envName
  8. 最后再次说明下,我们千万不能被上面的命令吓到。虽然命令很多,但我们用的多了就自然记住了。我们现在要做的只是跟着上面步骤操作下,重要的是理解每一步是干啥的。回头忘记了可以再查这个文档。

    conda的官方文档:https:///docs/user-guide/tasks/index.html

七、总结

以上就是Anaconda的全部入门内容了,相信有了它,在我们学习python的路上,我们一定能披荆斩棘,勇往直前!加油,各位~

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多