一、Python环境与包的问题
目前部门里面大部分电脑上的Python是通过由测试开发组同事开发的一键部署安装的Python2.7版本,默认集成了许多常用的第三方包,能够满足一般的开发需要,偶尔像是pyqt或者PIL等也可以通过pip或者其他方式自行下载安装。不过即使如此,你仍有可能会遇到下面这些麻烦:
想安装Python3,不清楚怎么做环境隔离;
运行不同版本的Python程序,不清楚怎么做环境切换;
在其他电脑上安装Python,不清楚需要下载哪些必要的第三方包;
所有的程序都使用一套开发环境,导致Lib\site-packages下对项目本身无意义的第三方包过多,环境比较混乱;
希望将程序放到另一电脑上运行时出现缺少相关第三方包文件的错误, 需要重新下载;
二、Anaconda介绍
Anaconda是一个用于科学计算的Python发行版,包含了conda、Python等180多个科学包及其依赖项。
这其中conda是开源包(packages)和虚拟环境(environment)的管理系统,可以很方便地解决多版本Python并存、切换以及各种第三方包安装问题。
packages管理:可以使用conda来安装、更新 、卸载工具包,类似于pip。conda将几乎所有的工具、第三方包都当做package对待,甚至包括Python和conda自身。conda 并不仅仅管理Python的工具包,它也能安装非Python的包,比如在新版的 Anaconda 中就可以安装R语言的集成开发环境 Rstudio。
虚拟环境管理:用于隔离不同项目所需的不同版本的工具包,以防止版本上的冲突,类似于virtualenv。对纠结于安装哪个Python版本的初学者,也可以建立 Python2 和 Python3 两个环境,来分别运行不同版本的 Python 代码。
此外,Anaconda号称是适用于企业级大数据分析的Python工具,所以它的另一个重要内容是包含了720多个数据科学相关的开源包,在数据可视化、机器学习、深度学习等多方面都有涉及。不仅可以做数据分析,甚至可以用在大数据和人工智能领域。当然对于一般性的开发,如果用不到这些包,也可以使用Miniconda这个较小的发行版(仅包含conda和 Python)。
三、安装与配置
Ⅰ.去官方网站下载安装程序。
https://www.anaconda.com/download/
这里有两个不同版本的Anaconda,分别对应Python 2.7和Python 3.6。建议安装Python 3.6,至于Python 2.7后面会通过新建开发环境来安装。
Ⅱ.安装完成后,windows菜单中Anaconda目录下有一些应用
Anaconda Navigtor :用于管理工具包和环境的图形用户界面,后续涉及的众多管理命令也可以在 Navigator 中手工实现。
Jupyter notebook :基于web的交互式计算环境,可以编辑易于人们阅读的文档,用于展示数据分析的过程。
spyder :一个使用Python语言、跨平台的、科学运算集成开发环境。
这些都可以在Anaconda Navigtor首页安装与启用,具体使用说明请参见官方文档。
Ⅲ.安装完成后需要配置环境变量,在系统path变量后面添加安装路径例如C:\anaconda3以及脚本路径C:\anaconda3\Scripts。配置好path,在终端窗口输人或者查看版本,检查安装配置是否正确。也可以使用或可以得到默认安装的Python解释器版本。
Ⅳ.因为Anaconda.org的服务器在国外,安装packages的时候下载的速度很慢,而且很容易断开。这里建议使用清华TUNA镜像源Anaconda仓库(https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/)的镜像,我们将其加入conda的配置即可:
位于华东或者华中地区的用户,也可以用科大镜像(http://mirrors.ustc.edu.cn/help/anaconda.html)。
Ⅴ.最后,可以选择对所有工具包进行升级(非必须)
在命令行中输入下面命令:
在终端询问是否安装如下升级版本时,输入 y。
注意如果需要更新的包数量较多,这个过程相对较长,过程中不要打开菜单中的任何Anaconda的应用,例如Anaconda Navigtor,避免更新失败。
四、管理虚拟环境
Anaconda下默认的安装的Python环境名叫做 root,如果电脑中没有事先独立安装的python环境,可以直接使用;反之,则需要通过命令激活Anaconda设定的虚拟环境,后面什么参数都不加就会进入root环境,如下图所示。
接下来再在Anaconda下创建一个Python2.7的环境:
上面的命令,conda仅安装python 2.7相关的必须项,如python, pip等,如果希望该环境像默认环境那样,安装anaconda集合包,只需要在命令后加入anaconda包即可。
安装完成后,在C:\anaconda3\envs下就多了一个python27的文件夹,点击进入后会发现目录结构与一般Python的目录结构一致。然后可以把环境切换到这个新创建的python27环境:
注意,如果是在linux和mac OS下,使用下面的命令来进入和退出某个环境:
删除一个已有的环境以及所拥有的包:
显示所有的环境,当前被激活的环境会显示有一个星号或者括号:
五、管理第三方包
Conda的包管理这部分功能与pip类似,首先是包的查看:
安装包的时候,conda会从从远程搜索安装包的相关信息和依赖项目:
需要注意的是,也会遇见conda在channel上找不到的不常见的第三方包,例如triangle和glumpy。
这时候可以用pip进行安装。为了避免网络问题,这里也用清华TUNA镜像源安装:
不同安装方式安装的包在conda list下会展示出不同的来源
前面已经提到,conda将conda、Python等都视为package,因此,完全可以使用conda来管理conda和Python的版本,例如:
如果想要导出当前环境的包信息,执行如下命令可以将当前环境下的 package 信息存入名为 environment 的 YAML 文件中:
当需要重新创建一个相同的虚拟环境时可以用:
这里需要注意,environment.yaml将会被创建在具体命令行所在的目录下,且导出的环境列表中不含pip或者其他方式下载安装的包文件。
六、pycharm下的Conda环境配置
在pycharm创建项目时,默认使用的是独立安装Python环境或者Anaconda下的root环境。
可以选择New environment using通过Conda创建新环境。
也可以点击齿轮标志,再点击Add Local,选在在Conda Env栏目下引入已经创建好的环境。
领取专属 10元无门槛券
私享最新 技术干货