社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

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

狗熊会 • 4 年前 • 466 次点击  

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


大家好,基于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
 
466 次点击