Py学习  »  Python

Python数据科学实践 | 基于Python的数据科学环境搭建

狗熊会 • 6 年前 • 787 次点击  

点击关注了解更多精彩内容!!


大家好,基于Python的数据科学实践课程第二期又到来了,大家尽情学习吧。本期内容主要由春艳同学与政委联合推出。

上一节,我们主要介绍了如何界面化的使用Anaconda中的Navigtor(回顾戳这里)。本节将会带领大家进入更加真实的数据科学家工作环境。大家可以想象,当你要处理更大规模数据的时候,一般都是存储在服务器上的,那么你的交互只能与服务器进行对话,这种对话也就只能通过命令行完成了哦。所以,这节咱们就要学习conda的常用命令行来管理数据科学环境。


Conda的使用

通过前面的介绍,相信大家已经对conda有了一个简单的认识。本节我们将对conda这一命令的使用进行一些基础说明,更加详细的使用方式可以参考Anaconda官网上的conda官方文档。


1明确概念

我们反复强调conda对环境和工具包的管理,那到底什么是环境,什么又是工具包呢?

conda环境是包含已安装的特定conda包集合的目录。例如,如果你同时在进行两个项目,一个项目要求你使用NumPy 1.7,另一个项目要求使用NumPy 1.6,那么你可以同时具有分别包含这两个包及其依赖项的环境。对其中一个环境的更改不会影响到其他环境,并且可以通过激活或停用的方式进行环境切换。除此之外,通过向他人提供environment.yaml文件副本的方式可以实现环境的多人共享。

conda包是一个压缩的打包文件,是一个有层次的文件目录结构,它定义了由n个模块或n个子包组成的Python应用程序执行环境。conda包含了系统级库、Python或其他模块、可执行程序和其他组件,它可以对包和平台之间的依赖关系进行跟踪。


2管理conda

前文也有提到,conda的设计理念在于将自己也作为package看待,因此conda可以对自己进行管理。conda对自己的管理主要体现在以下几个方面:

●  检验conda是否安装成功

●  查看conda安装版本

●  更新conda


2.1  检验conda是否安装成功

在终端中输入以下命令来进行检验:

例1.1-4-1  检验conda是否安装成功

如果能够成功显示出目前conda的版本号,则表示成功安装。

图1.1-4-1  检验conda是否成功安装的运行结果截图

注:如果遇到找不到conda的错误提示,很可能是由于环境路径设置出现问题,需要添加conda环境变量。

例1.1-4-2  添加conda环境变量

2.2  查看conda安装版本

除了例1.1-4-1的代码可以用来查看conda的版本之外,以下代码也可以做到:

例1.1-4-3  查看conda安装版本

注:在conda命令的使用中,可以将许多常用的命令选项从2个破折号( -- )加上命令的格式缩写为只有1个短划线和选项的第一个字母的形式。所以--version和-V相同,--name和-n相同,--envs和-e相同。


2.3  更新conda

通过以下代码可以进行conda更新:

例1.1-4-4  更新conda

运行后conda会比较版本并报告可安装的内容,同时给出其他将随更新自动更新或更改的软件包。如果conda报告有更新版本可用,请键入y进行更新。


3管理环境

conda对环境管理的能力使我们可以创建、导出、删除和更新在其中安装了不同版本的Python或软件包的环境,并且允许我们在环境之间自由切换、共享环境文件。conda对环境的管理主要体现在以下方面:

●  创建环境

●  克隆环境

●  激活/停用环境

●  确定当前环境/查看环境列表/查看环境中的包列表

●  保存/共享/删除环境


3.1  创建环境

当开始使用conda时,我们已经拥有一个名为base的默认环境(图1.1-4-1里有base提示)。但很多时候,我们都不希望将程序放入基础环境中,而是选择创建单独的环境使程序彼此隔离,同时保护基础环境不被破坏。

例1.1-4-5  创建环境

注:

●  默认情况下,环境安装在conda目录的envs目录中。

●  尽量同时在环境中安装所需的所有程序。一次安装1个程序可能会导致依赖性冲突。

●  如果想要每次创建新环境时都自动安装某些软件包,请将所需的软件包添加到.condarc配置文件的create_default_packages部分。

●  如果不希望在特定环境中安装默认的软件包,可以使用--no-default-packages标志。

例1.1-4-6  在特定环境中取消安装默认软件包


3.2  克隆环境

我们可以通过创建克隆环境来制作环境的精确副本:

例1.1-4-7  克隆环境


3.3  激活/停用环境

通过对环境的激活和停用,我们可以实现不同环境之间的切换。在激活一个环境之前,最好先停用目前正在运行的环境。

例1.1-4-8  激活/停用环境


3.4  确定当前环境/查看环境列表/查看环境中的包列表

在Windows系统中,默认情况下活动环境(当前使用的环境)会显示在命令提示符开头的括号()或括号[]中(如图1.1-4-1所示)。除此之外可以通过以下方式进行查看:

例1.1-4-9  确定当前环境/查看环境列表/查看环境中的包列表


3.5  保存/共享/删除环境


注:YAML文件中包含该环境的pip包和conda包,将该文件发送给其他人,他人通过例1.1-4-5中第9行代码可以创建同样的环境,从而实现环境的共享。


4管理包

conda对包的管理主要体现在以下方面:

●  搜索/安装包

●  安装非conda包

●  查看已安装的软件包列表

●  更新包

●  删除包

4.1  搜索/安装包

与我们下载Anaconda时可能会遭遇到的问题一样,由于Anaconda.org的服务器在国外,因此如果我们直接进行包的下载和安装,很可能由于连接失败而收到错误提示,此时,清华TUNA镜像站又一次给我们带来了便利。

例1.1-4-10  添加Anaconda的清华TUNA镜像

添加好国内镜像地址后,我们可以更快地进行软件包的安装:

例1.1-4-11  搜索/安装包


4.2  安排非conda包

如果无法从Anaconda.org或者清华TUNA镜像获得软件包,我们可以选择使用其他软件包管理器(如pip)查找并安装软件包。

值得注意的是,pip只是一个软件包管理器,所以无法对环境进行管理。pip甚至无法更新Python,因为它并不认为Python是一个包。pip和conda包之间的差异可能会导致兼容性方面的限制。如果要获得conda集成的好处,请确保在当前活动的conda环境中安装pip,然后使用该pip安装软件包。

例1.1-4-12  安装非conda包

4.3  查看已安装的软件包列表

通过以下方式我们可以查看不同环境下已安装的软件包列表:

例1.1-4-13  查看已安装的软件包列表

4.4  更新包

虽然Anaconda在下载时会为我们安装好多种不同的包,但各软件包的版本通常是较低的,因此为了避免在今后的使用过程中出现多种问题,建议在刚安装好就对所有的包进行更新。

例1.1-4-14  更新包

注:conda对Python的更新会将Python更新到该系列的最高版本,也就是说,如果是Python2则更新到2.x系列的最高版本,Python3则更新到3.x的最高版本。


4.5  删除包

可以通过如下操作对不同环境下的工具包进行删除:

例1.1-4-15  删除包


好了,今天常用的命令就介绍到这里。作业嘛?还用想,都尝试一遍命令行吧!


Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/34242