ArcGIS Pro 中的 Python

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

在 ArcGIS 9.0 中,将 Python 引入 ArcGIS 社区。 自此,它作为地理处理用户的所选脚本语言被接受,并继续增长。

了解 Python

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

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

Python 教程

如果您是 Python 的初学者,我们推荐您学习此处列出的一些外部教程。

针对程序员的 Python 教程

此处所列的外部教程主要面向以前学习过其他编程语言的人员。

Conda

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

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

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

运行 Python

可以在 ArcGIS Pro 中使用 Python 窗口ArcGIS Notebooks 以交互方式运行 PythonPython 窗口会提供一个提示,可在其中运行 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,请将 %LOCALAPPDATA% 替换为 %PROGRAMFILES%

要从命令提示符运行 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 ServerArcGIS Engine)版本的 Python 代码,请参阅从 10.x 到 ArcGIS ProPython 迁移。 主要差别在于 ArcGIS Pro 使用 Python 3,而其他 ArcGIS 产品使用 Python 2,同时 ArcPy 本身所含工具中存在一些差别。 例如 arcpy.mapping 模块替换为 arcpy.mp 模块。

疑难解答

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

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

在应用程序外授权 Python

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

  • 在登录到 ArcGIS Pro 时,选中自动登录
  • ArcGIS Pro 当前已打开。
  • ArcGIS Pro 已授权为离线工作。
  • ArcGIS Pro 已使用浮动版许可进行配置,ArcGIS License Manager 中至少有一个可用许可。
注:

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

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

相关主题