环境这种问题确实玄学 好多时候都是碰碰运气,以后经量把这些过程记录下来 再使用的时候就不用再到处找了

 

1.Anaconda是什么?

 

简单来说,Anaconda是Python的包管理器和环境管理器。先来解决一个初学者都会问的问题:我已经安装了Python,那么为什么还需要Anaconda呢?原因有以下几点:

(1)Anaconda附带了一大批常用数据科学包,它附带了conda、Python和 150 多个科学包及其依赖项。因此你可以用Anaconda立即开始处理数据。

(2)管理包。Anaconda 是在 conda(一个包管理器和环境管理器)上发展出来的。在数据分析中,你会用到很多第三方的包,而conda(包管理器)可以很好的帮助你在计算机上安装和管理这些包,包括安装、卸载和更新包。

(3)管理环境。为什么需要管理环境呢?比如你在A项目中用到了Python2,而新的项目要求使用Python3,而同时安装两个Python版本可能会造成许多混乱和错误。这时候conda就可以帮助你为不同的项目建立不同的运行环境。还有很多项目使用的包版本不同,比如不同的pandas版本,不可能同时安装两个pandas版本。你要做的应该是在项目对应的环境中创建对应的pandas版本。这时候conda就可以帮你做到。

总结:Anaconda解决了官方Python的两大痛点:

(1)提供了包管理功能,Windows平台安装第三方包经常失败的场景得以解决。

(2)提供环境管理功能,解决了多版本Python并存、切换的问题。

 

 

2.如何安装?

 

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

<img src=”https://pic4.zhimg.com/v2-e9596c4ec59191f7531fd6ce55eeb1bb_b.jpg” data-caption=”” data-size=”normal” data-rawwidth=”542″ data-rawheight=”542″ class=”origin_image zh-lightbox-thumb” width=”542″ data-original=”https://pic4.zhimg.com/v2-e9596c4ec59191f7531fd6ce55eeb1bb_r.jpg”>

安装选择设置到环境变量

完成安装后,如果你是在windows上操作,按下面图打开 Anaconda Prompt (或者 Mac 下的终端),后面我会将Anaconda Prompt统一称为“终端”

<img src=”https://pic3.zhimg.com/v2-60a3932918cd00b883b9093ffe0f70ba_b.jpg” data-caption=”” data-size=”normal” data-rawwidth=”248″ data-rawheight=”335″ class=”content_image” width=”248″>

注意:如果你是windows 10系统,按下图操作

<img src=”https://pic3.zhimg.com/v2-9afae7b4240e4168ae0b3cb0aaff3616_b.jpg” data-caption=”” data-size=”normal” data-rawwidth=”451″ data-rawheight=”658″ class=”origin_image zh-lightbox-thumb” width=”451″ data-original=”https://pic3.zhimg.com/v2-9afae7b4240e4168ae0b3cb0aaff3616_r.jpg”>

直接在官网下载安装包,官网地址https://www.anaconda.com/download/。选择Python3.6的安装包进行下载,下载完成后直接安装。安装完成之后会有一个Anaconda Prompt,类似于windows的终端操作,可以输入命令行啦!

 

                         图1:Anaconda安装成功界面

 

 

 

 

3.如何管理包?

 

 

安装Anaconda之后,我们就可以很方便的管理安装包(安装,卸载,更新)。

 

(1)安装包

conda 的包管理功能和pip 是一样的,当然你选择pip 来安装包也是没问题的。

 

  1.  
    # 安装 matplotlib
  2.  
    conda install matplotlib

(2)卸载包

  1.  
    # 删除包
  2.  
    conda remove matplotlib

(3)更新包

  1.  
    # 包更新
  2.  
    conda update matplotlib

(4)查询已经安装的包

  1.  
    # 查看已安装的包
  2.  
    conda list

(5)修改镜像地址

 

1.修改Anaconda镜像地址

安装Anaconda时候,访问的是国外的网络,所以下载Anaconda和安装包时会特别慢。我们需要更换到国内镜像源地址,这里我更换到国内的清华大学地址。(永久添加镜像)Windows命令:

 

  1.  
    conda config –add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
  2.  
    conda config –set show_channel_urls yes

2.修改pip镜像地址

如果你安装包时用的是pip,感觉也很慢。同样的,我们把pip的镜像源地址改成国内的,豆瓣源速度比较快。(临时修改的方法)Windows命令:

 

可以在使用pip的时候加参数-i https://pypi.tuna.tsinghua.edu.cn/simple

例子:

  1.  
    #这样就会从清华这边的镜像去安装numpy库。
  2.  
     
  3.  
    pip install -i https://pypi.tuna.tsinghua.edu.cn/simple numpy

当然,pip还有永久修改,一劳永逸的办法:

 

windows下,直接在user目录中创建一个pip目录,如:C:\Users\xx\pip,新建文件pip.ini,内容如下:

 

  1.  
    [global]
  2.  
    index-url = https://pypi.tuna.tsinghua.edu.cn/simple

4.如何管理环境

 

 

conda 可以为你不同的项目建立不同的运行环境。

 

 

(1)创建环境

 

conda create –n python27 numpy

上面的命令中,python27是设置环境的名称(-n是指该命令后面的python27是你要创建环境的名称),numpy是你要安装在环境中的包名称。

注意:创建环境时,可以指定要安装在环境中的Python版本。当你同时使用 Python 2.x 和 Python 3.x 中的代码时这很有用。要创建具有特定 Python 版本的环境,例如创建环境名称为python36,并安装最新版本的Python3.6在终端中输入:

 

conda create –n python36 python=3.6

或也可以这样创建环境名称为python27,并安装最新版本Python2.7:

conda create –n python27 python=2.7

因为我做的项目不同,有时候会用到Python2,还有时候会用到Python3。所以我在自己的计算机上创建了这两个环境,并分别取了这样的环境名称:python27,python36。这样我可以根据不同的项目轻松使用不同版本的python。

 

2)进入环境

在 Windows 上,你可以使用

 

conda activate python27

进入。进入之后,你可以在终端提示符中看到环境名称。当然,当你进入环境后,可以用conda list 查看环境中默认的安装包。

图2:进入环境

 

(3)离开环境

在 Windows 上,终端中输入:

deactivate

(4)共享环境

共享环境非常有用,它能让其他人安装你代码中使用的所有包,并确保这些包的版本正确。比如你开发了一个药店数据分析系统,你要提交给项目部署系统的人来部署你的项目,但是他们并不知道你当时开发时使用的是哪个python版本,以及使用了哪些包和包的版本。这怎么办呢?你可以在你当前的环境的终端中使用:

 

conda env export > environment.yaml

将你当前的环境保存到文件中包保存为YAML文件(包括Pyhton版本和所有包的名称)。命令的第一部分 conda env export 用于输出环境中的所有包的名称(包括 Python 版本)。你在终端中上可以看到导出的环境文件路径。在 GitHub 上共享代码时,最好同样创建环境文件并将其包括在代码库中。这能让其他人更轻松地安装你的代码的所有依赖项。

               

图3:共享环境

 

那么问题来了:导出的环境文件,在其他电脑环境中如何使用呢?

首先在conda中进入你的环境,比如conda activate python27。然后在使用以下命令更新你的环境:

 

  1.  
    #其中-f表示你要导出文件在本地的路径,所以/path/to/environment.yml要换成你本地的实际路径
  2.  
    conda env update -f=/path/to/environment.yml

对于不使用conda 的用户,我们通常还会使用以下命令将一个 txt文件导出并包括在其中:

pip freeze > environment.txt 
图4:恢复环境共享

然后我将该文件包含在项目的代码库中,其他项目成员即使在他的电脑上没有安装conda也可以使用该文件来安装和我一样的开发环境:

他在自己的电脑上进入python命令环境,然后运行以下命令就可以安装该项目需要的包:

 

  1.  
    #其中C:\Users\Microstrong\enviroment.txt是该文件在你电脑上的实际路径。
  2.  
    pip install -r C:\Users\Microstrong\enviroment.txt

(5)列出环境

有时候会忘记自己创建的环境名称,这时候用 conda env list 就可以列出你创建的所有环境。

        

                         图5:查看环境

你会看到环境的列表,而且你当前所在环境的旁边会有一个星号。默认的环境(即当你不在选定环境中时使用的环境)名为 base。

 

6)删除环境

如果你不再使用某个环境,可以使用以下命令。

  1.  
    #删除指定的环境(在这里环境名为 python27)。
  2.  
    conda env remove -n python27

Reference:

初学python者自学anaconda的正确姿势是什么?? – 猴子的回答 – 知乎 https://www.zhihu.com/question/58033789/answer/254673663

初学python者自学anaconda的正确姿势是什么?? – 刘志军的回答 – 知乎 https://www.zhihu.com/question/58033789/answer/155593506

转自

https://blog.csdn.net/program_developer/article/details/79677557

版权声明:本文为leonardo-Xx原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/leonardo-Xx/p/9402851.html