Skip to main content

ArcGIS Pro 中的 Python

Python 是一种免费的跨平台开源编程语言。 因而得到了广泛应用和支持。 要了解有关 Python 的详细信息,请访问 Python 网站

ArcGIS Pro 使用 Python 3。 Python 3 是一种常见的编程语言,适用于各种领域,包括数据分析、数据科学、质量保证以及 Web 和软件开发。 此外,ArcGIS Pro 默认包含许多第三方 Python 模块

学习 Python

无论您的技能水平或经验如何,除了 ArcGIS Pro Python 帮助之外,您还可以在学习 ArcGIS Pro 中的 Python ArcGIS Learn 课程以及 Paul A. Zandbergen 的以下 Esri 出版书籍中了解详细信息:

建议您结合相应的 Python 参考书来进一步了解此处包含的 ArcPy 专用信息。 此外还有许多书籍也介绍了 Python 及其具体用途,其中有些新书会定期出版,因此可以探究可用的内容。 Python 网站上提供了 Python 的完整文档,但内容很简明,主要是面向开发者的。 还有一个大型的 Python 在线社区,其中包含很多在线资源,您可通过 Python 主页访问这些资源。

Python 教程

如果您是 Python 初学者,则建议您学习以下外部教程:

针对程序员的 Python 教程

以下外部教程适用于具有编程经验的用户:

Conda

由于具有多功能性和可扩展性,Python 是 ArcGIS Pro 中用于自动化的主要语言。 部分程度上也正是由于这些品质,Python 正逐渐成为使用最为广泛的通用编程语言之一。 Python 具有可用于 ArcGIS 的各种预先存在的包。 但是,管理在系统上安装哪些软件包却是一项复杂费时的任务,特别是在使用多个工程或者尝试与他人共享代码时尤为如此。

凭借此多功能性,Python 社区已创建了多种方法在多个 Python 版本中创建工程,并简化了几乎所有公用 Python 软件包的安装过程。 Conda 是常用且应用广泛的 Python 软件包管理程序。

Conda 的功能已通过软件包管理器页面集成到 ArcGIS Pro 中。 软件包管理器消除了编写 Python 代码时面临的许多挑战。 其支持安装与各个工程关联的开源和第三方库,而非基础 Python 安装。 这简化了在多台计算机之间成功共享复杂 Python 工具的过程。

运行 Python

你可以在 ArcGIS Pro 中使用 Python窗口ArcGIS Notebook 交互运行 Python。 Python 窗口会提供一个提示,可在其中运行 Python 代码的简短片段。 ArcGIS Notebooks 基于 Jupyter Notebook 架构,并提供了丰富的体验,可在其中运行代码、可视化效果和倡议文本,并将其一起存储在同一文档中。

您可以在 ArcGIS Pro 之外运行 Python 脚本(带有 .py 扩展名的文件)。 以下几个小节介绍了如何在激活正确的 ArcGIS Pro Python 3 conda 环境的情况下从应用程序外部运行 Python 脚本。

从命令提示符启动

要从命令提示符启动 Python,请键入以下内容:

"%PROGRAMFILES%\ArcGIS\Pro\bin\Python\Scripts\propy"

注:

显示的所有路径假定按计算机(所有用户)安装 ArcGIS Pro。 如果已为当前用户安装 ArcGIS Pro,请将 %PROGRAMFILES% 替换为 %LOCALAPPDATA%

要从命令提示符运行 Python 脚本(可在 .py 扩展名后添加参数),请键入以下内容:

"C:\Program Files\ArcGIS\Pro\bin\Python\Scripts\propy" myscript.py

启动 ArcGIS Pro Python 3 conda 环境:

"%PROGRAMFILES%\ArcGIS\Pro\bin\Python\Scripts\proenv"

从批处理文件启动

要从 .bat 文件运行 Python 脚本,请在 propy 上使用 call

@echo Run my Python script
call "%PROGRAMFILES%\ArcGIS\Pro\bin\Python\Scripts\propy" myscript.py
@echo Finished

运行计划任务

如果将 Python 脚本作为计划任务运行,请为程序或脚本使用 C:\PROGRA~1\ArcGIS\Pro\bin\Python\Scripts\propy,并在所有参数中包含 Python 脚本的完整路径。

快捷键

请使用以下快捷方式来访问 Python:

快捷方式

描述

Python 命令提示符

打开使用当前 conda 环境初始化的命令提示符窗口。 要启动交互式 Python 会话,请输入 python。 要运行 Python 脚本,请输入 python,然后输入 .py 文件的路径。

Python 交互式终端

使用当前 conda 环境打开 Python 会话。

Python IDE

通过配置集成开发环境 (IDE) 使用的 Python 版本,可以无缝使用大部分现代 Python IDE 和 conda。 主要步骤包括引导 IDE 使用 ArcGIS Pro 安装目录中正确的 Python.exe 文件。 要配置多个常用 IDE,请参阅 conda 文档中的使用 IDE 或者特定 IDE 的文档。

可以通过键入 idle 从 conda 环境启动 Python IDLE。

迁移

如果您正在迁移编写到 ArcGIS Desktop(或 ArcGIS Server 或 ArcGIS Engine)版本的 Python 代码,请参见 从 10.x 到 ArcGIS Pro 的 Python 迁移。 主要差别在于 ArcGIS Pro 使用 Python 3,而其他 ArcGIS 产品使用 Python 2,同时 ArcPy 本身所含工具中存在一些差别。 例如 arcpy.mapping 模块替换为 arcpy.mp 模块。

疑难解答

必须在 conda 环境内运行 ArcPy,以供 ArcGIS Pro 用于管理 Python 安装。 要访问此环境,从开始菜单组在终端运行 proenv 中的链接打开 Python。

如果在命令窗口中打开 conda 环境但不具备所需管理权限,则将显示一条消息,指示缺少权限。 关闭命令窗口,重新将其打开,然后以管理员身份运行。

在应用程序外授权 Python

如果在 ArcGIS Pro 应用程序外部(例如 Python IDE)、从命令提示符或通过计划任务运行使用 ArcGIS Pro 功能的 Python 脚本,则必须满足以下条件之一:

  • 在登录到 ArcGIS Pro 时,选中自动登录

  • ArcGIS Pro 当前已打开。

  • ArcGIS Pro 已授权为离线工作。

注:

如果不满足以上任何条件,则在导入 arcpyarcgisscripting 时,将会出现 RuntimeError: NotInitialized 异常。

了解有关许可 ArcGIS Pro 的详细信息