当前位置:   article > 正文

19-1-第六章 管理Python包和环境(一)_python 环境 管理

python 环境 管理

原文链接

6.1 引言

python的优点之一便是有大量的第三方程序包可以试用,Pro试用了conda来管理包和不同的python环境,作者在这一章介绍了如何试用conda来管理包和环境。

6.2 Modules, packages, libraries (模块、包和库)

python安装时附带了很多内置模块(built-in modules),大约200个内置模块,前几章介绍的mathrandomtime模块都是内置模块,内置模块列表在python文档中的“python module index”中可以找到。大约245个内置模块显著增加了python的功能。当然除了内置模块外,很多时候是使用第三方包进行扩展。

python中的模块是由一个.py文件组成,模块的名称与不带.py拓展名的文件名称相同。python中的包是模块的集合文件夹,通过将所有模块放在一个带有__init__.py的文件夹目录中创建。导入模块时,使用import,导入包时使用的语法相同,比如经常使用的import arcpy。arcpy是一个包,由许多模块和其他元素构成,很多时候将arcpy的功能引入脚本时,将其视为了模块。所以很多时候包和模块在术语上互换使用,但是他们的组织方式不同。

除了包、模块,还有library,库在一些语言中有特定的含义,但是python中并非如此。当在python中,库表示模块的集合,python中的标准库是python语言的语法和语义,它与核心python安装捆绑在一起,包括内置模块,第三方库(third-party library)用于指代可以添加到python中的组件,并不是标准库中的组件,这些组件通常是包的形式。

6.3 python 发行版本

arcgis pro自带一个自定义的python版本,包括了arcpy等相关包,被称为“ArcGIS Pro Python distribution”,这个版本包括一个名为conda的管理区,conda与anaconda紧密相关,Anaconda是一个专门开发python与R语言数据分析等的应用程序。当运行Python IDE时,有一行代码显示:

Python 3.6.9 |Anaconda, Inc.|
  • 1

Anaconda是一个大型的集合,包含了绝大部分常用的数据分析等所需的python和R包,Pro所自带的python版本不使用Anaconda,但是使用了conda。另外,Anaconda发行版是免费的,conda是开源的。Anaconda免费提供额外的服务、支持和培训,但无需使用这些服务来使用conda或Anaconda发行版。

6.4 Python 包管理器

因为python使用了很多不同的包,所以要科学有效的管理这些包,需要使用包管理器进行包的更新、删除、添加等。Python中自带了一个名为PIP的内置包管理器,它可以作为名为PIP的模块使用,PIP可用来执行包管理程序,例如添加包:

pip install <name of package>
  • 1

Python开发者广泛使用PIP,但是它比较麻烦,主要是因为python 包有很多。python packages index (PyPI)是在线的资源,包含了上万个包,可以使用PIP查找并安装包。但是使用PIP对于管理包很麻烦,因此PIP往往主要用于处理纯Python包,纯python包只包含python代码,不包含拓展插件和其他语言的代码。

因此,Anaconda自带的名为conda的包管理器是很多时候的首选,conda不仅管理程序包,还管理环境。Esri为conda创建了一个界面,集成到软件中。
在这里插入图片描述

6.5 python环境

Python一个特定的包往往需要以来其他包运行,这些其他包被称为依赖项,为了管理这些相互依赖的软件包,Python使用了虚拟环境。在原书中,介绍虚拟环境是Python和包的独特安装,可以在一台电脑上创建许多虚拟环境,而不是在不同电脑上安装特定的版本。环境之所以叫做虚拟环境,是因为不同版本的python 等在一台计算机上,但是“外观”不一样。打开pycharm等可以看到有系统环境、虚拟环境、conda环境等。这里可以参考其他文章,介绍的更详细。

Pro有一个默认的环境,arcgispro-py3,这个环境中包括了python标准库、常用包等。Pro是价格conda集成为一个界面,没有直接使用conda代码命令。默认情况下选择的项目环境名为arcgispro-py3。这个名字是对安装此环境的文件的文件夹的引用,通常位于以下位置:C:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-py3。此外,ArcPy的文件位于稍有不同的位置:C:\ProgramFiles\ArcGIS\Pro\Resources\ArcPy。

Python包管理器显示在默认环境中安装的包,包括支持python相关功能所需的包,以及GIS相关的包。
在这里插入图片描述

Pro也提供了官方的链接:https://pro.arcgis.com/en/pro-app/latest/arcpy/get-started/what-is-conda.htm

包管理器显示版本号、链接等,无法从默认环境中删除包,只能克隆环境中才行。上图列表中主要包含几个类别:
Jupyter Notebook和支持它们所需的工具(IPython、Jupyter控制台、JupyterLab、nbconvert用于notebook转换)
数据分析(Pandas、openpyxl用于Excel files)
处理日期(pytz、python dateutil)
可视化(Matplotlib)
处理web数据(urllib3、Request)
scientific data 科学数据 (h5py用于HDF5数据,netCDF4用于netCDF数据,NumPy用于数组)
scientific 例程和统计(SciPy)
通用Python实用程序(future,pip)

代码中的包通常使用小写,但是有时候包的名称使用大写,例如numpy包被称为Numpy,requests模块被称为Requests。

已经默认安装的包,可以直接import,例如可以直接 import numpy,并不会报错。又比如scikit-learn包,在导入时被叫做sklearn,使用import sklearn时,就会报错,因为没有默认安装这个包,要先安装后才import。但是默认环境无法修改,需要先克隆。

6.6 使用conda管理环境

默认的arcgispro-py3无法修改,需要先clone。这些内容已经在上一本书开始就介绍了,就不再介绍了。

6.7 使用conda管理包

这一节的很多内容基本上也都在第一本书中就有了介绍。
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/735289
推荐阅读
相关标签
  

闽ICP备14008679号