Skip To Content

Linux 上 ArcGIS Server 的 Python 3 运行时

ArcGIS Server 提供了针对命令行 ArcPy 脚本使用 Python 3 运行时的选项。 Python 3.x 已随 ArcGIS Server 安装,但您可以安装单独的 Python 3 运行时包,此运行时包可简化通过 ArcGIS Server 使用 Python 3 的操作。

注:

ArcGIS Server 10.9.1 版本之后,仅支持 Python 3,不提供 Python 2.7 安装。

入门

Python 提供了第三方库,以供您在 ArcGIS 中使用,但是管理安装哪些软件包却是一项复杂费时的任务,特别是在使用多个工程或者尝试与他人共享代码时尤为如此。 要针对 Linux 简化 Python 3 运行时在 ArcGIS Server 上的使用,可使用 conda 下载并安装 arcgis-server-py3 包。

如果您还没有 conda,则可从 Anaconda 网站进行下载。

若要访问 ArcGIS Python 功能,包括 ArcPy,可以安装 arcgis-server-py3 软件包。 在 conda 环境中,请使用以下命令安装 Python 3:

conda install -c esri arcgis-server-py3=<version>

<version> 值将指示库的当前版本,该版本与您的 ArcGIS Server 当前版本相同,格式为 n.n.n,例如,ArcGIS Server 10.9.1:

conda install -c esri arcgis-server-py3=10.9.1

安装 arcgis-server-py3 软件包会添加 ArcPy,其中包括支持的地理处理工具和所有第三方要求。

如果未安装 arcgis-server-py3 包,当运行在 ArcGIS Server 安装目录中安装到 /arcgis/server/framework/runtime/ArcGIS/bin/Python/envs/arcgispro-py3/python.exe 文件时,必须调用 Wine

迁移

ArcGIS Server 结合使用 Python 3 运行时的方式与 ArcGIS Server 以及包括 ArcMap 在内的其他 ArcGIS 产品结合使用 Python 2 的方式不同。 需要适应两个主要差异:ArcPy 中的差异以及 Python 版本的变更。

ArcPy 中的功能所做的更改

对于 ArcGIS Server,许多地理处理工具将继续在 Python 3 运行时中可用,然而,有一些将无法使用。 不包含 Parcel Fabric (ArcMap)、Schematics 以及 Tracking Analyst 工具箱中所含的工具。 其他工具箱中的其他工具也不可用。 有关受支持地理处理工具的完整列表,请参阅 arcgis-server-py3 软件包中的 readme 文件。

arcpy.mapping 模块已被移除,并且已经在 ArcGIS Pro 中替换为 arcpy.mp 模块。 arcpy.na 模块同样包含更改,多个更改与从 arcpy.mappingarcpy.mp 的更改相关联。

Python 版本更改

ArcGIS Server Python 运行时使用 Python 3。这是重大变化;Python 3 产品线版本与 Python 2 产品线不兼容。 虽然从根本上说,大部分语言内容是相同的,但许多关键细节发生了很大变化,包括字符串和字典的工作原理以及标准库的组织方式。

目前,Python 社区已经将大部分重要的第三方库移植到了 Python 3 上,并且在 Python 社区中,达成了这样的共识,即所有新的开发工程都将在 Python 3 中完成。

由于 10.9.1 是包含 Python 2.7 的最后一个版本,因此需要开始更新 Python 代码以在 Python 3 中使用。 如果您正在对代码执行从 Python 2 到 Python 3 的单向转换,可以使用 2to3 命令行实用程序自动执行大部分的过程。 要特别注意的是,2to3 虽然是极佳的工具,但是它并不是完整的解决方案(有时估计为 95% 有效的解决方案),并且可能有必要对其进行其他更改。

请记住,更简单的 Python 脚本可能不需要任何更改,也可以正常运行。


在本主题中
  1. 入门
  2. 迁移