ArcPy-2.使用 Python 编辑器

2.1 简介

本章介绍了如何使用 Python 编辑器或集成开发环境 (IDE) 来编写和测试脚本。Python 社区使用许多不同的 IDE,经验丰富的开发人员通常对特定编辑器有强烈的个人偏好。虽然选择使用哪个 IDE 很重要,但无论使用哪个编辑器,Python 代码都是相同的。

本章介绍了运行 Python 代码的方法,并介绍了几种 IDE,包括 IDLE 和 PyCharm。Notebook 提供了一种替代传统 IDE 来编写 Python 代码的方法,并允许您直接在 ArcGIS Pro 中与数据和地图交互。ArcGIS Pro 中的 Python 窗口提供了另一种在 ArcGIS Pro 中直接编写 Python 代码的方法,而无需在单独的应用程序中工作。

2.2 Python 安装

在研究如何使用 Python 代码之前,查看 Python 的安装方式很有用。Python 是作为 ArcGIS Pro 安装的一部分安装的。这包括使用 Python 支持常见 GIS 相关工作流所需的所有软件包。包是指第三方创建的功能,可以添加到您的 Python 安装中。为了更轻松地管理和安装 Python 包,Python 社区使用包管理器。ArcGIS Pro 集成了一个广泛使用的包管理器,名为 conda。

使用 conda 的最简单方法是在 ArcGIS Pro 中使用。使用新项目启动 ArcGIS Pro。单击顶部菜单中的“项目”,然后单击“包管理器”。这将打开一个用户友好的 conda 界面。
在这里插入图片描述

包管理器显示活动环境以及当前作为该环境的一部分安装的包,并允许您更新和添加包。包使用环境进行管理。环境是指已安装的特定版本的 Python 及其附带的包。它们被称为虚拟环境,因为它们复制了不同计算机上的不同安装的外观,但它们驻留在同一台计算机上。它们也称为 Python 环境。默认环境称为 arcgispro-py3。首次安装 ArcGIS Pro 时,这是唯一可用的环境。此环境附带 200 多个最广泛使用的 Python 包,用于与 GIS 相关的工作流。

特定任务可能需要额外的专用包,您可以将包添加到现有环境中。包管理器使您可以访问 9,000 多个专用包。但是,默认环境 arcgispro-py3 无法修改,并且保持原始状态。因此,要添加包,您首先需要克隆默认环境。您可以使用包管理器克隆环境。克隆会有效地创建原始 Python 安装的副本,然后您可以通过添加包来修改该副本。

对于本书,您无需克隆环境或更新或添加包。 arcgispro-py3 环境包含运行所有章节中的代码所需的所有功能。有关克隆环境和使用 conda 管理包的详细信息在《ArcGIS Pro 高级 Python 脚本》一书(Esri Press,2024 年)的第 6 章中有详细介绍。

虽然使用包管理器查看 Python 的安装方式很有用,但当您只是学习如何使用 Python 编码时,通常不需要对此安装进行更改。默认环境由正确版本的 Python(ArcGIS Pro 3.2 为 3.9.18)组成,并包含大多数任务所需的所有包。当您更新软件(例如,更新到 ArcGIS Pro 3.3)时,Python 的版本和包会自动更新。

最后,考虑 Python 的安装位置很有用。对于 ArcGIS Pro 的典型安装,Python 安装在以下文件夹中:

C:\Program Files\ArcGIS\Pro\bin\Python

默认环境安装在以下子文件夹中:

C:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-py3

根据 ArcGIS Pro 的安装方式,这些路径在您的计算机上可能会略有不同。本章的以下部分假定上述路径。常见的替代路径是

C:\Users\<username>\AppData\Local\Programs\ArcGIS\Pro\bin\Python

其中 是单个用户的名称。

您可以使用文件资源管理器确认 ArcGIS Pro 在您的计算机上的安装位置,并相应地更新以下部分中的路径。

2.3 使用 Python 编辑器或 IDE

计算机脚本本质上是可由程序或脚本引擎运行的命令列表。脚本通常是具有特定文件扩展名并包含用脚本语言编写的指令的纯文本文档。大多数脚本都可以使用基本文本编辑器打开和编辑。但是,使用专门的脚本编辑器处理脚本会在您编写脚本时提供附加功能,并且还允许您运行脚本。

您可以通过多种方式使用 Python。最基本的方法是使用所谓的命令行或命令提示符。如果您使用过其他编程语言,您可能熟悉这种类型的界面。要在 Windows 中访问 Python 命令行,请搜索名为 Python 命令提示符的应用程序。此应用程序位于 ArcGIS 程序组中。

在这里插入图片描述

在典型的计算机上,这不是唯一的 Python 命令提示符。例如,如果您安装了 ArcGIS Desktop 10.x,则 ArcGIS 程序组中还有一个名为 Python(命令行)的命令提示符,它与 Python 2.7 配合使用。如果您安装了使用 Python 的其他程序,则可能会有其他命令提示符。使用 ArcGIS Pro 时,应使用随软件安装的特定命令提示符,这可确保您拥有与 ArcGIS Pro 配合使用的正确版本的 Python,并且您可以访问必要的软件包。

请注意,命令提示符中的第一行以 (arcgispro-py3) 开头,这是作为 ArcGIS Pro 的一部分安装的默认 Python 环境。顾名思义,此环境特定于使用 ArcGIS Pro 和 Python 3。

环境后面是特定环境在本地硬盘上安装的完整路径。此路径将根据 ArcGIS Pro 的安装方式而有所不同。该路径是运行 Python 时的默认工作目录;在许多情况下,您需要将其更改为您选择的自定义目录。

尽管此界面提供了对 Python 所有功能的完全访问权限,但它对编写和测试脚本的支持有限。因此,与使用命令提示符界面相比,使用 Python 编辑器通常更有效率。Python 编辑器具有菜单驱动的界面和用于组织和测试 Python 脚本的工具,使使用 Python 更加容易。

Python 编辑器也称为集成开发环境 (IDE)。术语“Python 编辑器”和“Python IDE”经常互换使用。存在许多 IDE,包括几个开源和商业软件应用程序。一些 IDE 是为特定平台开发的,例如 Windows、macOS 或 Linux,而其他 IDE 则设计用于一种或多种特定编程语言,例如 Java 或 .NET 语言。

可以在 Python wiki 页面 (https://wiki.python.org/moin/PythonEditors) 上找到 Python 编辑器的完整列表。您使用的编辑器在很大程度上取决于您的个人喜好,经验丰富的 Python 程序员都有自己的最爱。 Python 语法对于不同的编辑器保持不变,因此您不需要不同的脚本来使用不同的编辑器。

本章其余部分讨论的两个 IDE 是 IDLE 和 PyCharm。之所以选择这些编辑器,是因为它们代表了一系列功能,从非常基础到相对复杂的功能。但是,本书中的所有代码都可以由任何正确配置为与 ArcGIS Pro 配合使用的 IDE 使用。

除了 IDLE 和 PyCharm,本章还讨论了如何使用 Notebooks 和 Python 窗口来编写和运行 Python 代码。这两种方法不被视为 IDE,但它们提供了一些相同的功能。

2.4 使用 IDLE

任何 Python 安装附带的默认 IDE 都是集成开发环境 (IDLE)。请注意 L 是大写的。IDE 是 Python 编辑器的通用术语,而 IDLE 是作为处理 Python 脚本的默认应用程序提供的特定编辑器。IDLE 是基本的,但由于它是随 Python 安装的默认编辑器,因此熟悉它是有益的。您在第 1 章中看到的 Python 代码的屏幕截图使用了 IDLE。任何安装了 Python 的计算机都会安装 IDLE,因此您可以放心使用。IDLE 也经常被称为 Python Shell。“Shell”是一个通用计算术语,用于描述用户界面,而不是命令行界面。

要访问 IDLE,请在 Python 命令提示符中键入 idle 命令。您可以在 > 符号后面的行尾闪烁的光标处键入它。
在这里插入图片描述

然后按 Enter 键。此命令将调出 IDLE。
在这里插入图片描述
请注意,顶部的应用程序名称是 IDLE Shell 3.9.18。该应用程序通常被称为 IDLE 和 Shell,您会在某些菜单选项中看到这些引用。由于您是从 arcgispro-py3 环境启动 IDLE 的,因此所使用的 Python 版本是随 ArcGIS Pro 安装的版本。在撰写本文时,它是 ArcGIS Pro 3.2 的 3.9.18 版本,但这将随着软件的未来版本而改变。

由于通过首先启动命令提示符来启动 IDLE 有点不方便,您还可以在桌面上为 IDLE 创建快捷方式或将其添加到 ArcGIS Pro 程序组。对于 ArcGIS Pro 的典型安装,运行 IDLE 的路径如下:

C:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-py3\Lib\idlelib\idle.bat

尽管没有为 IDLE 创建程序快捷方式,但文件资源管理器有一个内置快捷方式。浏览到包含一个或多个 Python 脚本的文件夹。右键单击 Python 脚本(即扩展名为 .py 的文件)时,它会显示各种选项来处理该文件,包括使用 IDLE 编辑(ArcGIS Pro)。仅当本地计算机上安装了 ArcGIS Pro 时才会显示此选项。
在这里插入图片描述

如果您安装了其他 Python 或其他 Python 编辑器,则可能会有其他选项可用。例如,如果您安装了 ArcMap 10.x,则可以使用名为“使用 IDLE (ArcGIS Desktop) 编辑”的选项。此选项会打开随 ArcMap 10.x 安装的 IDLE 版本 - 即使用 ArcMap 10.8.2 时打开 Python 2.7.18.4。可能还有一个名为“使用 IDLE 编辑”的选项,它通常与除 ArcGIS Pro 或 ArcMap 10.x 之外的单独 Python 安装相关联。

单击“使用 IDLE (ArcGIS Pro) 编辑”会打开正确版本的 IDLE 以与 ArcGIS Pro 配合使用。脚本将在脚本窗口中打开。要启动 Shell,请单击“运行”>“Python Shell”。

此内置快捷方式很有用,因为它使用 ArcGIS Pro 中的活动环境。默认情况下,这是 arcgispro-py3 环境,但如果 ArcGIS Pro 应用程序使用不同的环境,则在以这种方式启动 IDLE 时将使用该环境。此功能非常有用,因为其他快捷方式(例如程序组中的条目或桌面快捷方式)仅特定于一个环境。但是,在 IDLE 中,无法立即清楚正在使用哪个环境。您必须打开 ArcGIS Pro 并检查活动环境。

或者,要从 IDLE 中检查正在使用的环境,请在 IDLE Shell 中运行以下代码:

>>> import numpy
>>> print(numpy.__file__)

请注意,在“file”前后有两个下划线。此代码打印了其中一个包的文件所在的位置(在本例中为 NumPy 包)。此位置间接告诉您正在使用的环境。使用默认环境时,结果如下所示:

C:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-py3\lib\site-packages\numpy\__init__.py

在IDLE中,结果如图所示。
在这里插入图片描述
结果确认所使用的环境是 arcgispro-py3。

尽管 IDLE 是作为 ArcGIS Pro 安装的一部分安装的,但由于每个环境都有不同版本的 IDLE,因此不会创建任何程序快捷方式。因此,在使用为 IDLE 创建的任何快捷方式时要小心,因为它们特定于一个环境。

要在 Windows 中添加此快捷方式,请右键单击桌面,然后单击新建 > 快捷方式。在对话框中,输入运行 IDLE 的路径。如果您不确定这是正确的位置,也可以浏览到该文件。
在这里插入图片描述

单击下一步,在下一个对话框中输入一个有意义的名称,例如 IDLE for Pro。此步骤默认创建一个带有通用图标的快捷方式。
在这里插入图片描述

您可以用实际的 IDLE 图标替换通用图标。右键单击快捷方式,单击“属性”,然后在“快捷方式”选项卡上单击“更改图标”。浏览到 idle.ico 文件,该文件通常位于以下位置:

C:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-py3\Lib\idlelib\Icons\idle.ico.

该文件用实际的 IDLE 图标替换该图标。
在这里插入图片描述

现在您可以双击图标来启动 IDLE。

注意: 您可以通过多种方式启动 IDLE。例如,idle.exe 文件位于 C:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-py3\Scripts。此文件也会启动 IDLE,但会在后台运行一个终端窗口,这可能会分散注意力。

每个 Python 安装都附带自己的 IDLE 版本。如果您安装了 ArcGIS Desktop 10.x,通常会在 ArcGIS 程序组下有一个名为 IDLE (Python GUI) 的快捷方式。如果您使用的是 ArcMap 10.8.2,并且使用此快捷方式启动 IDLE,您将看到它使用 Python 2.7.18.4。要使用 ArcGIS Pro,您应该仅使用与 ArcGIS Pro 一起安装在前面引用的位置的 IDLE 版本。使用此版本的 IDLE 可确保您拥有正确的 Python 版本并可以访问使用 ArcGIS Pro 所需的软件包。

可以从帮助菜单中获取 IDLE 各个菜单项的描述。在 IDLE Shell 菜单栏上,单击帮助 > IDLE 帮助可查看这些描述。有关 IDLE 的更多信息,请访问 https://www.python.org/idle。

请注意,IDLE Shell 窗口中的最后一行以符号 >>> 开头。此符号是交互式 Python 解释器的提示符。此提示符表示您可以在此处键入代码并按 Enter,然后交互式解释器将执行您的命令。

您准备好输入第一行 Python 了吗?在 IDLE 的提示符下,在提示符后键入以下文本:

>>> print("Hello World")

按下 Enter 键时,将出现以下输出:

Hello World
>>>

这里发生了什么?当你按下 Enter 时,交互式 Python 解释器会读取输入的命令,将“Hello World”打印到下一行,并在下一行给你一个新的提示,等待下一个输入。这里的术语 print 是指将文本写入屏幕,而不是将文件发送到外部打印机。

现在你已经明白了为什么 Python 被称为解释型编程语言。当你完成命令输入并按下 Enter 时,这些命令将被解释并立即执行。

**注意:**本书中的 >>> 符号表示代码正在交互式解释器中编写。你不必输入实际的 >>> 符号。

你还会注意到交互式 Python 解释器的其他一些特点。只要你输入一些文本,它就会根据输入的性质被赋予一种颜色。例如,只要你输入单词 print,它就会变成紫色。同样,字符串“Hello World”是绿色的。打印输出是蓝色的。
在这里插入图片描述

这种颜色是交互式 Python 解释器显示代码元素解释方式的一种方式。在本例中,紫色表示函数,绿色表示字符串,蓝色表示输出。这种语法高亮显示是一种有用的方法,可以在编写代码时了解代码和错误检查。但请注意,不同 Python 编辑器的语法高亮显示惯例各不相同,因此不要太习惯于特定的配色方案。

如果您输入的内容对交互式 Python 解释器来说没有意义,该怎么办?例如:

>>> I like eggs and bacon for breakfast.

您会立即收到语法无效的反馈:

SyntaxError: invalid syntax
>>>

当您学习 Python 语法的基础知识时,直接在交互式 Python 解释器中工作很有用。您可以立即获得结果,并且可以继续使用新代码行,而不必担心保存工作。但是,当您准备编写由多行组成的稍微复杂一些的代码时,将其编写为可以保存的脚本文件会更有益。请记住,写入交互式 Python 解释器的代码通常不打算保存 - 尽管您可以将其复制到脚本并继续执行。

接下来,您将看到编写脚本与在交互式 Python 解释器中编写代码有何不同。在 IDLE Shell 菜单栏上,单击文件 > 新建文件。此命令将打开一个名为无标题的新窗口。这是一个脚本窗口,没有提示。
在这里插入图片描述

现在输入与之前相同的代码行:

print("Hello World")

请注意,会出现相同的语法高亮显示。但是,当您按下 Enter 键时,光标会跳转到下一行,但除此之外什么也不会发生。这种不活动是因为脚本本身不是交互式的。脚本必须作为程序运行才能执行命令。但是,在运行脚本之前,必须先保存它。在菜单栏上,单击文件 > 另存为,然后将脚本另存为 hello.py。文件扩展名 .py 表示它是一个 Python 脚本。
在这里插入图片描述

现在是时候运行脚本了。在菜单栏上,单击运行 > 运行模块。字符串“Hello World”将打印到交互式 Python 解释器。
在这里插入图片描述

编写代码时,同时打开交互式 Python 解释器和脚本很有用。如果您想快速尝试某些操作或检查一行代码的语法,则可以使用交互式 Python 解释器。另一方面,脚本窗口包含要保存并继续处理的实际代码行。您可以通过生成打印到交互式 Python 解释器的结果来测试脚本。

IDLE 是一个很好的基本编辑器,大多数有经验的 Python 程序员都熟悉它。但是,它的功能有些有限,大多数程序员至少使用一个其他 IDE — 有时是几个。本书中使用的另一个 IDE 是 PyCharm,接下来将对其进行介绍。在本书的其余部分,假设您可以访问 IDLE 和 PyCharm。但是,Python 代码的语法是相同的,与编辑器无关。编辑器之间的主要区别在于如何创建、组织和测试 Python 脚本,但实际代码是相同的。

**注意:**在 ArcGIS Pro 安装过程中安装 Python 时,默认情况下不会安装或配置 PyCharm。以下部分介绍了此安装的基础知识。

2.5 使用 PyCharm 作为 Python IDE

PyCharm 是此处讨论的第二个 IDE。PyCharm 由一家名为 JetBrains 的公司开发。PyCharm 为专业开发人员提供了很多功能,其中许多功能我们目前都不需要,但它是 Python 程序员中流行的 IDE。PyCharm 既有付费专业版,也有免费社区版;后者对于本书来说就足够了。虽然 PyCharm 专门针对 Python,但它还支持其他几种编程语言,包括 JavaScript 和 HTML。

必须单独下载和安装 PyCharm。您可以从 https://www.jetbrains.com/pycharm 下载该软件。下载并安装免费社区版的 Windows 版本后,需要进行一些配置。您会记得,IDLE 是作为 ArcGIS Pro 的一部分安装的。此安装可确保编辑器使用正确的环境。但 PyCharm 并非如此,因为它与 ArcGIS Pro 分开安装。

PyCharm 的安装允许您添加桌面快捷方式,但您也可以使用以下文件手动添加,尽管版本号会随时间而变化:

C:\Program Files\JetBrains\PyCharm Community Edition 2023.3.2\bin\pycharm64.exe

桌面快捷方式如下:
在这里插入图片描述

以下步骤概述了如何配置 PyCharm,假设 PyCharm 是使用初始默认设置安装的。

双击桌面快捷方式启动 PyCharm 社区版。如果系统提示您导入 PyCharm 设置,请选择“不导入设置”选项,然后单击“确定”。

在“欢迎使用 PyCharm”对话框中,单击左侧面板中的“自定义”,然后选择您喜欢的颜色主题。以下屏幕截图中使用的是浅色主题。
在这里插入图片描述

单击左侧面板中的“项目”,然后单击“新建项目”。在“新建项目”对话框中,指定项目的位置并为项目命名。
在这里插入图片描述

接下来,您需要配置 PyCharm 以使用正确的环境来与 ArcGIS Pro 配合使用。对于解释器类型,选择自定义环境。对于环境,选择选择现有。对于类型,从下拉选项中选择 Conda。对于 Conda 路径,浏览到以下 conda 可执行文件:

C:\Program Files\ArcGIS\Pro\bin\Python\Scripts\conda.exe

单击重新加载环境。对于环境,从下拉选项中选择 arcgispro-py3。

在这里插入图片描述

单击创建。这将使用所选解释器 arcgispro-py3 在所选目录中启动一个新项目。活动解释器显示在右下角。

在这里插入图片描述

仅在首次启动 PyCharm 应用程序时才会出现“欢迎使用 PyCharm”对话框。因此,在项目已打开时了解如何设置正确的解释器非常有用。例如,考虑使用作为 PyCharm 的一部分安装的默认系统解释器的场景。在这种情况下,活动解释器是 Python 3.12(或最新版本的 Python)。此版本不允许您使用 ArcGIS Pro。

在这里插入图片描述

要访问 PyCharm 内的菜单选项,请单击 PyCharm 徽标右侧的主菜单图标。

在这里插入图片描述

您可以在文件 > 设置下更改现有项目的活动解释器,但通常为以后的新项目设置解释器更有用。

从文件菜单中,单击新项目设置 > 新项目设置。单击左侧面板中的 Python 解释器选项。如果您之前已在 PyCharm 中配置了 arcgispro-py3 环境,它将出现在 Python 解释器的下拉选项中。您可以选择此环境并单击确定以关闭设置对话框。如果 arcgispro-py3 没有出现在下拉选项中,您将需要按照下面的配置步骤进行操作。

单击项目解释器下拉箭头右侧的添加解释器。

在这里插入图片描述

点击添加本地解释器选项,弹出添加 Python 解释器对话框,点击左侧的 Conda 环境选项,Conda 可执行文件条目目前为空,点击 Conda 可执行文件条目右侧的浏览图标,弹出 Conda 可执行文件对话框,浏览到 conda.exe,如下图所示:

C:\Program Files\ArcGIS\Pro\bin\Python\Scripts\conda.exe

单击“确定”选择此 conda.exe 文件并关闭“Conda 可执行文件”对话框。

现在已经选择了 conda 可执行文件,下一步是选择正确的环境。单击“加载环境”按钮并选择“使用现有环境”。使用下拉列表将“使用现有环境”选项设置为 arcgispro-py3。

在这里插入图片描述

如果您之前没有克隆过环境,则唯一显示的环境是 arcgispro-py3。下拉菜单显示两个选项:路径 C:\Program Files\ArcGIS\Pro\bin\Python 和 arcgispro-py3,但只有后者是实际环境。此处显示该路径是因为它是 conda 可执行文件的位置。

在这里插入图片描述

如果你已经克隆了你的环境,这些克隆的环境也会出现在下拉选项中。

在这里插入图片描述

对于本书来说,使用默认环境 arcgispro-py3 就足够了。使用下拉菜单选择此环境。

单击“确定”关闭“添加 Python 解释器”对话框。

“设置”对话框现在显示 arcgispro-py3 作为 Python 解释器。

在这里插入图片描述

设置正确的解释器后,将显示 arcgispro-py3 环境的包列表。此列表与 ArcGIS Pro 中的包管理器中显示的列表相同。但是,不应从 PyCharm 内部管理环境,而应通过包管理器使用 conda 进行管理。

注意: PyCharm 的单个安装可以使用多个解释器,这意味着它可以用于使用 conda 创建的任何环境。

应用这些设置后,您需要启动一个新项目以使用正确的解释器。从文件菜单中,单击新建项目。新建项目对话框允许您指定项目的名称和位置,并且默认情况下已选择现有的 conda 环境。
在这里插入图片描述

请注意,对话框中的环境显示为 C:\Program Files\ArcGIS\Pro\bin\Python,但实际使用的环境是 arcgispro-py3,它是下拉选项中显示的第一个(通常也是唯一一个)环境。

单击“创建”以创建项目。

在这里插入图片描述

当项目打开时,当前解释器显示在右下角。

在这里插入图片描述

这确认使用了正确的解释器。

要使交互式解释器在 PyCharm 中可见,请单击左侧的 Python Consol 图标。

在这里插入图片描述

您可以放大 Python 控制台以更好地查看内容。还建议打开软换行以更好地查看长行文本。单击“输出操作”图标(位于 Python 控制台中图标列表的底部),然后选择“软换行”选项。

在这里插入图片描述

此选项可确保无论窗口宽度如何,长文本行在控制台中都可见。Python 控制台是一个类似于 IDLE Shell 的交互式解释器。

在这里插入图片描述

请注意 Python 控制台如何显示正确的 Python 版本 (3.9.18) 以及正确的解释器 (arcgispro-py3)。现在,您可以通过键入一行代码并按 Enter 将此控制台用作交互式解释器。PyCharm 对交互式解释器使用不同类型的提示。IDLE 中的 >>> 提示被 In [n] 替换,其中 n 是一个整数,随着每个新提示而增加。

在提示符下输入以下代码:

print("Hello World")

然后按 Enter。命令将执行,文本将打印到下一行,并出现新的提示符。

在这里插入图片描述

要在脚本文件中编写代码,请在左侧的“项目”面板中右键单击工作文件夹,然后单击“新建”>“Python 文件”。命名后,脚本将保存到工作文件夹并显示在左侧面板中。您可以编写脚本,然后通过在脚本内右键单击并单击“运行”来运行它。您还可以通过在“项目”面板中的脚本内右键单击并单击“运行”来运行脚本,或者从“运行”菜单中单击“运行”。

结果将打印到脚本下方的新窗口中。这不是之前的 Python 控制台,而是一个新的运行窗口,特定于运行当前脚本的结果。无论结果如何呈现,Python 代码和结果都与之前使用 IDLE 的示例相同。

在这里插入图片描述

PyCharm 具有许多选项和功能,使其成为一个相对复杂的 IDE。用户界面也可能让初学者望而生畏。如果您刚刚开始编程,IDLE 是一个不错的起点,但我们鼓励您尝试使用 PyCharm 来熟悉不同的界面并学习其他功能。PyCharm 还可以更轻松地在同一应用程序中运行多个环境。

本书中的示例使用 IDLE 作为主要 Python 编辑器,并引用了一些 PyCharm 来说明 IDLE 中不可用的功能。选择 Python 编辑器在很大程度上取决于您,但我们鼓励您尝试多个编辑器以确定您觉得哪个更容易使用。您也可以从与同事或同学讨论他们使用的 IDE 中受益。本书中的代码示例可以在任何与 Python 3 兼容的 IDE 中使用,前提是它配置为使用正确的 ArcGIS Pro 环境。

**注意:**如果您将使用许多环境来运行 Python,则 IDLE 的使用会很复杂,因为您需要为每个环境使用不同版本的 IDE。在这种情况下,PyCharm 是首选,因为单个应用程序可以运行多个环境。但是,对于大多数刚开始只使用单个环境(默认或克隆)的新手用户来说,IDLE 就足够了。

2.6 其他 IDE 的注意事项

除了专用的 Python 编辑器(如 PyCharm)外,还可以使用通用代码编辑器来编写 Python 脚本。这些编辑器通常提供语法突出显示、格式化选项和其他用于处理代码的选项。广泛使用的代码编辑器的示例包括 Microsoft Visual Studio 和 Eclipse。通常,这些代码编辑器适用于多种编程语言。因此,经验丰富的代码开发人员可以使用单个编辑器来处理多种语言。例如,Visual Studio 主要用于开发使用 C# 在 .NET 框架上运行的应用程序,但也可以用于处理 Python。同样,Eclipse 被广泛用于处理 Java,但通过添加 PyDev 模块,您可以使用它来处理 Python。

需要注意的是,Visual Studio 和 Eclipse 等编辑器具有许多 Python 初学者不需要的功能。为了使学习曲线稍微平缓一些,如果您刚刚开始使用 Python,我们建议您使用 Python 专用编辑器,例如 IDLE 或 PyCharm。专用 Python 编辑器比其他编辑器有一些优势,包括编写 Python 脚本几乎不需要自定义配置。

2.7 使用笔记本

除了 IDLE 或 PyCharm 等 Python 编辑器外,笔记本还广泛用于编写和运行 Python 代码。本节介绍什么是笔记本以及如何使用它们在 ArcGIS Pro 中处理 Python 代码。

Jupyter Notebook 是一个开源 Web 应用程序,可用于处理许多编程语言,包括 Julia、Python 和 R。虽然 Jupyter Notebook 不具备与更传统的 IDE 相同的功能,但它提供了一种直观且交互式的代码开发方式。Jupyter Notebook 在数据科学和可视化应用中很受欢迎。这种方法已融入 ArcGIS Pro,并被称为 ArcGIS Notebooks。您可以在 ArcGIS Pro 中创建笔记本来编写和运行 Python 代码,而无需使用单独的应用程序。

笔记本存储为扩展名为 .ipynb 的文件。单个笔记本文档不仅包含代码,还可以包含常规文本、图像、外部链接和用户创建的其他元素。这与扩展名为 .py 的 Python 脚本文件有着显著的不同,后者仅包含代码和注释形式的常规文本。

您可以使用 Jupyter Notebook 或 JupyterLab 等 Web 应用程序在 Web 浏览器中处理 .ipynb 文件。有关更多信息,请参阅 https://jupyter.org。但是,当使用 Python 进行与 GIS 相关的工作流时,使用笔记本最方便的方式是直接在 ArcGIS Pro 中。

在 ArcGIS Pro 的功能区上,单击分析选项卡,然后在地理处理组中,单击 Python 按钮的下拉箭头,然后单击 Python Notebook。

在这里插入图片描述

直接单击 Python 按钮也会打开一个新笔记本,但下拉菜单允许您在 Python Notebook 和 Python 窗口之间进行选择。Python 窗口是在 ArcGIS Pro 中运行 Python 代码的另一种方式,将在下一节中介绍。

笔记本打开后,它将作为新视图出现在 ArcGIS Pro 的主窗口中。新笔记本将作为 .ipynb 文件存储在您的项目主文件夹中。新笔记本还会显示在目录窗格中的 Notebooks 文件夹下。

笔记本内的代码按单元格组织。单击笔记本中的空单元格。

在这里插入图片描述

轮廓变为绿色。输入以下代码行:

print("Hello Notebook!")

在这里插入图片描述

在单元格上方的工具栏上,单击“运行”按钮。

单元格中的代码运行,结果打印在单元格下方。其下方添加了一个新的空单元格。

在这里插入图片描述

您还可以按 Ctrl+Enter 来运行当前选定的单元格。您可以在单个单元格中添加多行代码,方法是在每行后按 Enter。与在 Python 编辑器的交互式窗口中运行代码相比,这有点违反直觉,在 Python 编辑器中按 Enter 会运行代码行。

笔记本中的代码按单元格组织。单元格运行的顺序由运行后单元格旁边的数字表示。笔记本具有管理单元格的工具,包括合并、复制、粘贴和移动。除了 Python 代码外,笔记本还可以包含其他元素,包括格式化文本、URL、图形、数学符号、HTML 页面和各种类型的多媒体。

在 ArcGIS Pro 中使用笔记本的好处之一是无需安装或配置 Python 编辑器。在笔记本中运行 Python 代码时,会自动使用 ArcGIS Pro 中的活动环境。笔记本也可以托管在 ArcGIS Enterprise 或 ArcGIS Online 中。

笔记本缺少 Python 编辑器中的一些功能,例如语法检查和调试,但与 ArcGIS Pro 应用程序的紧密集成使其成为使用 Python 代码的有效替代方案。本书的其余章节依赖于更传统的 Python IDE,例如 IDLE 和 PyCharm。本书中的大部分代码也可以使用 ArcGIS Pro 中的笔记本运行。但是,编写和测试代码的外观和感觉有点不同,尤其是查看结果时。

2.8 使用 Python 窗口

您还可以使用 Python 窗口直接从 ArcGIS Pro 中使用 Python。要在 ArcGIS Pro 中打开 Python 窗口,请单击“分析”选项卡,然后单击 Python 旁边的向下箭头,单击 Python 窗口图标。

在这里插入图片描述

在 Python 窗口中,顶部部分称为脚本,底部部分称为 Python 提示符。脚本最初是空白的。它提供了先前输入的 Python 代码及其结果的记录。

在这里插入图片描述

您可以在 Python 提示符中输入代码行。请注意,尽管它没有“>>>”符号,但它仍被称为提示符。

在这里插入图片描述

输入代码后,按 Enter 运行代码。代码行将复制到成绩单中,结果将显示在成绩单的下一行。

在这里插入图片描述

Python 窗口允许快速测试相对简单的代码行,但没有单独的脚本窗口。因此,Python 窗口相当于 IDLE 中的交互式解释器和 PyCharm 中的控制台,但它缺乏 IDE 的全部功能。

2.9 有关本书中 Python 脚本和示例代码的重要说明

根据定义,Python 脚本是模块。模块是 Python 组织代码的最高级别。包含 Python 脚本的实际文件是一个简单的文本文件,因此可以使用任何文本编辑器来编写脚本。Python 脚本的文件扩展名是 .py,它会自动与 Python 编辑器相关联。因此,即使 Python 脚本的文件扩展名为 .py,内容也是纯文本,没有任何格式。

当您使用 Python 编辑器时,代码会以语法突出显示和其他功能的形式变得生动,如前面的示例所示。此功能使查看现有代码和编写新代码行变得更加容易。

谨慎使用基本文本编辑器(如记事本)编写 Python 脚本。文本编辑器并非专门为编写代码而设计。它们不保留脚本的正确格式,也不提供语法突出显示或任何其他有助于编写正确格式的脚本的工具。确保您的编辑器专门为处理 Python 代码而设计,例如本章中讨论的示例 IDE。

Python 脚本名称必须以字母开头,后面可以跟任意数量的字母、数字或下划线。脚本名称不应使用 Python 关键字。第 4 章介绍了 Python 关键字。

每当书中的示例代码前面有提示符(“>>>” 时,代码都是在交互式解释器中编写的,例如 ArcGIS Pro 中的 Python 窗口或 IDLE 中的交互式窗口。按 Enter 键时,代码行会立即执行。提示符前面的代码示例是

>>> print("Hello World")

如前面的示例所示,并非所有编辑器都使用相同的 >>> 符号。例如,PyCharm 中的 Python 控制台使用符号 In [n],其中 n 表示行号。ArcGIS Pro 中的 Python 窗口根本不使用符号。因此,>>> 符号仅用于指示代码应以交互方式运行,无论使用哪个编辑器以及哪个符号(如果有)位于其前面。

每当示例代码前面没有提示符时(如图所示),代码就会被写入脚本窗口。必须将代码保存到扩展名为 .py 的脚本文件中,然后必须从脚本运行它才能执行代码。

print("Hello World")

运行脚本的结果将打印到交互式窗口中。但是,本书中的大多数示例代码既可以在交互式解释器中运行,也可以作为脚本的一部分运行。

2.10 在 Python 窗口中编写和运行代码

Python 窗口是一种快速便捷的方法,可以编写简短的 Python 代码来运行地理处理工具,同时充分利用 Python 的全部功能。它还为初学者学习 Python 提供了一种很好的方法。

Python 窗口可用于运行一行或多行 Python 代码。它是试验语法和处理简短代码片段的有用场所。术语“代码片段”在编程中用于表示一小部分代码,通常只有几行。在将代码用于较大的独立脚本之前,可以在 Python 窗口中测试脚本编写思路。在 ArcGIS Pro 中直接提供的 Python 功能还提供了一种访问和执行地理处理任务的有效机制。

Python 窗口是 ArcGIS Pro 中的一个窗格,类似于地理处理或目录窗格。窗格可以根据需要调整大小、移动和停靠。虽然在 ArcGIS Pro 术语中它是一个窗格,但每个人都称它为 Python 窗口。

在这里插入图片描述

Python 窗口的底部是交互式 Python 解释器,也称为 Python 提示符或输入部分。在这里逐行输入 Python 代码。请注意,默认消息是“在此处输入 Python 代码”,但是一旦您开始使用 Python 窗口,此消息就会消失。没有其他一些交互式解释器中的命令提示符(“>>>”)。

Python 窗口的顶部称为记录或输出部分。在提示符中输入 Python 代码并运行代码行时,记录部分会显示此代码,然后显示结果。记录提供了所有先前输入的 Python 代码的记录,这就是名称的由来。

记录和提示部分之间的划分一开始可能有点违反直觉,因为它与其他交互式解释器(如 IDLE)不同。在 IDLE 中,您输入一行代码,按 Enter,结果将打印到同一窗口的下一行。另一方面,输入和输出之间的划分在其他用户界面中很常见,而且相对容易习惯。

Python 代码在 Python 窗口的提示部分中一行一行地输入。按 Enter 后,代码将执行,结果将立即显示在记录部分中。请考虑以下示例。

在提示中输入以下代码行:

x = 7

此代码将值 7 赋给变量 x。

**注意:**第 4 章介绍 Python 语言基础知识。目前,不必担心 Python 代码的确切语法。

在这里插入图片描述

当您在代码行末尾按下 Enter 键时,代码将被执行。代码行现在出现在转录部分中。

在这里插入图片描述

接下来输入以下代码行:

x * 3

执行此代码将进行一个简单的计算。输入代码并按下 Enter 键后,代码将出现在转录部分,下一行将显示计算结果。

在这里插入图片描述

您可以继续以这种方式输入代码以执行更长的工作流程。

要清除记录,请在记录部分内单击鼠标右键,然后单击“清除记录”。请记住,清除记录时,代码中使用的任何变量都会在当前会话中保留其值。所有之前执行的代码也会保留在内存中,即使它不再显示在 Python 窗口中。关闭 Python 窗口时,所有代码也会保留在内存中,记录的内容保持不变。保存项目时,记录的内容和您使用的所有代码都会被保存。此功能允许您返回到上次中断的地方继续处理代码。

**注意:**虽然代码已保存到您的项目中,但它并不是保存编码工作的可靠方法。第 2.13 节介绍了将代码保存为脚本文件。

在某些情况下,一行代码无法单独运行。请考虑以下代码示例:

x = 17
if x == 17:
    print("Correct")

此示例将一个值赋给名为 x 的变量,然后检查该值。在实际场景中,x 的值可能由外部来源(例如用户)提供。if 语句表示代码块的开始,因此下一行必须缩进。if 语句是多行构造的一部分 — 必须至少有一行附加代码才能执行。换句话说,第二行代码不能单独运行。

Python 窗口识别此构造,因此当您输入第二行代码并按 Enter 时,代码不会运行,而是提示符跳转到下一行。

在这里插入图片描述

Python 窗口还会为下一行代码添加缩进。当您输入下一行代码时,它会自动缩进,因为 if 语句后面总是跟着一个带缩进的代码块。

您现在可以继续输入第三行也是最后一行代码。

在这里插入图片描述

默认情况下,Python 窗口不会假定多行构造已完成,您可以继续编写代码块而不运行代码。按 Enter 键时,光标会跳转到下一行缩进的代码。

在这里插入图片描述

当您编写完代码块并想要运行它时,只需在提示符下按 Enter 即可,无需输入任何新代码。此步骤将运行代码块,并且代码将显示在记录中,包括任何结果。

在这里插入图片描述

当一行代码未执行而是跳转到下一行代码时,也称为辅助提示。辅助提示使您可以先完成多行代码,然后再一次性运行它们。Python 窗口会自动识别多行结构,例如 if 语句示例。此用法与其他 Python IDE 的功能一致。

Python 的所有核心功能以及 ArcGIS Pro 中的所有地理处理工具都可以在 Python 窗口中使用。在编程术语中,这意味着功能已公开。此外,在 Python 窗口中工作的优势之一是您可以与地图中的图层进行交互。

以下是在 Python 窗口中使用地理处理工具的示例。获取计数工具确定要素类或表的行数。在此示例中,从当前地图中的图层获取要素类,并打印获取计数工具的结果。

在这里插入图片描述

名为“rivers”的图层位于当前地图中,因此可以直接通过其名称调用。您还可以引用磁盘上的要素类和其他数据集;第 5 章介绍了此主题。同样,此时不必担心语法。基本思想是 Python 窗口可用于调用任何可用的地理处理工具。您可以在 ArcGIS Pro 中测试代码、练习 Python 语法并保存代码。

运行一行代码时,Python 窗口的提示部分将被禁用,您将在提示的左上角看到一个 X,并且一系列点会移动以指示代码正在运行,如图所示。

在这里插入图片描述

通常,此指示器仅显示很短的时间,但如果 X 仍然可见并且您希望取消,则可以单击 X 停止代码。

最初,与使用常规工具对话框相比,从 Python 窗口运行工具似乎需要更多精力。但是,使用 Python 窗口有许多优点:

  • 除了能够使用所有常规地理处理工具外,还可以使用其他非工具功能,例如列出和描述数据、使用环境设置以及访问地理处理消息。
  • 自动完成功能可以帮助编写正确的代码,包括地理处理工具所需的语法。第 2.11 节介绍了自动完成。
  • 可以使用“if-else”逻辑完成条件执行。
  • 可以使用“for”和“while”循环完成对多组数据的迭代。
  • 可以访问标准 Python 模块中的任何功能,包括字符串、文件和文件夹的操作。
  • Python 提供对许多第三方包的访问,这些包扩展了操作数据的可能性。
  • 在 Python 窗口中编写的代码块可以保存到 Python 文件中,以便在 Python 编辑器中使用,并且现有脚本文件中的代码可以加载到 Python 窗口中。

以下各节将探讨其中一些优点,而其他优点将在后面的章节中介绍。

2.11 在 Python 窗口中获取帮助

在 Python 窗口中工作时,经常会犯一些小错误。请考虑以下示例,其中图层名称输入错误。

在这里插入图片描述

当前地图中不存在图层“river”——它应该是“rivers”。报告了几条消息,表明该工具由于参数无效而未运行。您可以单击错误代码以链接到 ArcGIS 帮助页面,其中包含错误的详细说明。

您可以使用向上箭头和向下箭头键访问先前输入的代码,而不必再次输入代码行。您只需调出上一行代码并进行更改即可。

将光标放在提示内,按向上箭头调出上一行代码。

在这里插入图片描述

然后进行更正并运行代码。

在这里插入图片描述

当您想要访问之前的代码行时,向上箭头和向下箭头键可以减少重新输入的次数。

还可以通过使用自动完成提示来最大限度地减少输入的需要。例如,当您开始输入“arcpy.Get”时,系统会向您显示一个下拉列表,其中包含所有以“Get”开头的 ArcPy 函数。您可以通过单击某个项目从列表中进行选择,然后提示会填充该项目。

在这里插入图片描述

此功能大大减少了记住地理处理工具和其他功能的确切名称的需要,限制了拼写错误的数量,并且比输入全名要快得多。

**注意:**您可能已经注意到该工具名为 Get Count,但代码行使用的是 arcpy.management.GetCount() 而不是 arcpy.GetCount(),因为工具是由其工具箱引用的。第 5 章详细介绍了在 Python 中使用地理处理工具的语法。

Python 窗口自动完成提示还包括设置参数值的帮助。例如,当您开始输入工具参数并且需要输入要素类时,系统会提示您提供可用图层的列表,如图中所示的示例。

在这里插入图片描述

在本例中,地图包含三个图层,每个图层都是获取计数工具的一个有意义的输入参数。您可以选择感兴趣的图层,提示符将填充图层的名称。生成的代码会自动包含正确的语法 - 在本例中,使用引号或引号括住图层名称,并使用括号括住参数。

在这里插入图片描述

注意: Python 使用单引号和双引号,因此如果使用一致,"rivers"'rivers' 都是正确的。第 4 章详细介绍了 Python 语法,包括引号的使用。

Python 窗口中的提示还扩展到前面几行代码中使用的变量。例如,当您开始输入 print(co 时,系统会提示您输入一个元素列表,以字母 co 开头,这些元素在逻辑上是可以使用的。在本例中,这包括变量 count,它在上一行中被赋值。

在这里插入图片描述

自动完成的另一个有用方面是语法帮助。例如,当您开始输入“print(”时,Python 窗口会自动在末尾添加右括号,甚至在您完成输入左括号后面的内容之前也是如此。

有效使用这些提示可以减少必要的输入量并减少拼写错误。提示还会提醒您正确的语法,因此它们可以帮助您学习如何编写 Python 代码。

Python 窗口提供的另一个帮助示例是显示通用工具语法。在提示中输入工具的确切名称时,弹出窗口会显示工具语法,如图所示。

在这里插入图片描述

此弹出窗口显示特定工具的参数并解释每个参数。将鼠标悬停在蓝色信息图标上会显示该工具的说明,单击图标会链接到该工具的在线帮助页面。

“获取计数”工具只有一个参数,语法很直观。但是,对于一些您不经常使用的工具,语法可能不那么直观。有些工具还具有大量参数,如果不查找语法,编写代码会变得更加困难。

图中所示的示例说明了一个不太常用的工具,它具有许多参数。在提示符中提供语法可以更轻松地编写正确的语法。

在这里插入图片描述

弹出窗口由两部分组成。上部显示工具的语法,下部显示活动参数的说明。此活动参数会在您编写时更新,说明也会相应更新。

Python 窗口完全集成到地理处理框架中。例如,在 Python 窗口中运行的地理处理工具的任何输出都会添加到当前地图中。此外,您在 Python 窗口中运行的任何工具都会出现在地理处理历史记录中,可从“历史记录”窗格访问该历史记录。

下图中的示例显示了如何使用当前地图中的图层作为输入从 Python 窗口运行缓冲区工具。生成的地理数据库要素类会添加到当前地图中,并且该工具会添加到地理处理历史记录中。

在这里插入图片描述

另一种节省输入的方法是将内容直接拖入 Python 窗口。打开 Python 窗口后,您可以从 ArcGIS Pro 中的其他窗格拖动许多元素,包括地理处理窗格中的工具、内容窗格中的一个或多个图层,甚至是您已从历史记录窗格中运行的工具。图中的示例显示了将之前运行的工具从地理处理历史记录拖入 Python 窗口的提示部分时发生的情况。

在这里插入图片描述

语法可能看起来有些不同,但工具参数实际上是相同的。第 5 章提供了有关在 Python 中使用工具参数的详细信息。

能够将地理处理历史记录条目拖到 Python 窗口中是了解 Python 语法的好方法。您可以使用常规工具对话框运行地理处理工具,然后将代码片段从“历史记录”窗格拖到 Python 窗口中以查看语法。

2.12 探索 Python 窗口选项

右键单击 Python 窗口,可以使用其他几个选项。在记录部分中,您可以选择一行或多行,右键单击它们,然后单击复制。您也可以在记录部分中右键单击,然后在复制之前单击全选选项。如果您想将代码复制到不同 IDE 中的另一个文件(例如脚本),这将很有用。其他选项可让您清除记录或保存整个记录。

提示部分包含右键单击选项以复制、剪切、粘贴和全选。此外,“清除窗口”会从提示部分中删除任何代码,“加载代码”允许您从 Python 文件中引入现有代码。

在这些选项中,“保存脚本”和“加载代码”是最有用的。以下部分将更详细地讨论这些功能。

2.13 在 Python 窗口中保存您的工作

Python 窗口非常适合运行相对较短的 Python 代码段。您可以试验 Python 语句并立即获得结果。单行代码也可以再次运行。但是,Python 窗口并不旨在创建更长更复杂的 Python 代码。为此,您需要 Python 脚本。

要在另一个编辑器中使用您已在 Python 窗口中编写的代码,请右键单击 Python 窗口,然后单击“保存脚本”来保存内容。Python 窗口的内容可以保存为 Python 文件 (.py),然后您可以在首选 IDE 中打开该文件。

考虑前面部分图中的示例。

在这里插入图片描述

将记录保存为 Python 文件使得可以在不同的 Python 编辑器(在本例中为 IDLE)中打开该脚本,如图所示。
在这里插入图片描述

该脚本包含 Python 窗口转录部分的所有代码行,而任何结果都显示为带有 # 符号的注释。第一行代码还提供了关于使用 UTF-8 编码的注释。此行代码意味着代码使用 8 位块来表示字符,这是对字符进行编码的几种方法之一。第 4 章提供了有关编码的更多信息。

您现在可以在您选择的 Python 编辑器中编辑脚本。

2.14 将代码加载到 Python 窗口

Python 窗口是一个交互式解释器,通常,您可以使用它来快速执行几行简短的代码。但是,您也可以将已编写并保存为文件的代码加载到 Python 窗口中。您可以从 Python 编辑器或文本编辑器复制代码并将其粘贴到 Python 窗口中。您还可以使用“加载代码”选项导入脚本的完整内容。

考虑先前导出的脚本(即 getcount.py)。从 Python 窗口中的空白提示部分开始,右键单击并单击“加载代码”。然后选择一个 Python 脚本文件,例如 getcount.py 脚本。

在这里插入图片描述

加载现有脚本时,请注意所有行(包括注释)都已添加到提示部分。脚本中的代码行在加载时不会逐行运行。这样,您可以在运行代码之前预览所有代码行并进行必要的更改。

按 Enter 运行代码时,代码将被执行并显示在记录中,同样包括注释。

在这里插入图片描述

通常,您不会希望在 Python 窗口中运行冗长的脚本,但与键入或复制和粘贴单行代码相比,加载现有代码块可以节省时间。

能够将您的工作保存为脚本、从脚本加载现有代码以及从现有脚本复制和粘贴代码,可以更轻松地在 Python 窗口和 Python 编辑器之间来回切换。最终,您通常希望将最终代码保存为脚本文件以供将来使用。

2.15 使用 ArcGIS Desktop 10.x 的 IDE

虽然本书严格关注 Python 在 ArcGIS Pro 中的使用,但许多仍在使用 ArcGIS Desktop 10.x 的用户可能会发现自己同时运行两个版本的脚本。运行这两个版本可能会带来挑战,因为您使用的是两个不同版本的 Python。这两个版本可以在一台计算机上并存,但您需要调整使用 IDE 的方式。本节介绍如何配置您的 IDE 以便您可以运行这两个版本。

首先,使用 IDLE for ArcGIS Desktop 10.x 非常简单,因为它作为典型安装的快捷方式安装。您可以通过搜索名为 IDLE (Python GUI) 的应用程序来启动 IDLE。此应用程序位于 ArcGIS 程序组中。运行此应用程序会调出 Python Shell。
在这里插入图片描述

此版本的 IDLE 运行 Python 版本 2.7.18.4,不能用于运行为 Python 3 编写的用于 ArcGIS Pro 的脚本。但是,界面与 IDLE 3.9.18 Shell 几乎相同。ArcGIS Desktop 10.x 仅使用单个环境,因此您不必担心不同版本的 IDLE。

**注意:**如果您使用桌面快捷方式,您可能需要考虑重命名它们以明确每个 IDLE 快捷方式适用于哪个版本的软件 - 例如,“IDLE for 10.x”和“IDLE for ArcGIS Pro”。

PyCharm 是使用两个版本的 Python 的绝佳选择,因为配置相对简单。一次安装 PyCharm 可以使用多个解释器。要为此目的配置 PyCharm,请单击文件 > 新项目设置 > 新项目设置。在设置对话框中,单击左侧面板中的项目解释器。忽略下拉菜单中的现有选项,单击右侧的添加解释器。然后单击添加本地解释器。在添加 Python 解释器对话框中,单击左侧的系统解释器。PyCharm 可能已经识别了作为典型 ArcGIS 安装的一部分安装的解释器,包括 C:\Python27\ArcGIS10.8\python.exe。如果无法识别此解释器,您可以手动浏览到此文件。

在这里插入图片描述

一旦选择了系统解释器,它将显示为项目解释器。同时还会显示此解释器的软件包列表。单击“确定”以应用项目解释器。您可能需要重新启动计算机才能使设置生效。在 PyCharm 中启动新项目时,您可以选择其中一个预配置的解释器。在“新建项目”对话框中,单击“现有解释器”选项。您现在可以选择使用 ArcGIS Desktop 10.x 的 Python 2.7 解释器或 ArcGIS Pro 的 Python 3.9 解释器。

在这里插入图片描述

**注意:**由于 ArcGIS Desktop 10.x 不使用虚拟环境,因此在添加 Python 解释器时,您必须选择系统解释器而不是 conda 环境。但是,配置 Python 解释器后,您只需从列表中选择所需的解释器,而不必担心不同类型的解释器。

PyCharm 可用于在 Python 2.7 和 Python 3.9 之间轻松切换,以及在 ArcGIS Pro 的多个环境之间切换 - 只需安装一次 PyCharm。此功能使 PyCharm 成为具有多个版本或环境的复杂项目的强大 IDE。

要点

  • 使用 Python 需要使用编辑器,例如通用代码编辑器或特定的 Python 编辑器。每个版本的 Python 都安装的默认 Python 编辑器称为 IDLE。本书使用 IDLE 和 PyCharm。必须单独安装和/或配置 PyCharm。
  • 默认情况下会安装 IDLE,但您可能需要手动添加桌面快捷方式。 PyCharm 需要单独安装,然后执行一些配置步骤,以便它使用适用于 ArcGIS Pro 的正确 Python 环境。
  • 尽管每个编辑器的外观和感觉都不同,但所有编辑器都允许您使用交互式解释器逐行运行 Python 代码,并将其作为完整的 Python 脚本运行。实际的 Python 代码是相同的,并且不依赖于所使用的编辑器。
  • 如果您的项目需要为 ArcGIS Pro 和 ArcGIS Desktop 10.x 编写脚本,建议使用 PyCharm 作为编辑器,因为它可以更轻松地处理多个版本和环境。IDLE 需要每个 Python 版本和环境使用不同的版本。
  • Notebook 是传统 Python 编辑器(如 IDLE 和 PyCharm)的良好替代品。Notebook 集成到 ArcGIS 中,无需安装或配置。Notebook 中的 Python 代码按单元格组织。除了 Python 代码外,Notebook 还可以包含格式化的文本、URL、图像和其他几个元素。
  • ArcGIS Pro 包含 Python 窗口,它可用作 Python 的交互式解释器。Python 窗口是一种快速便捷的方式,可以运行地理处理工具,同时充分利用 Python 的全部功能。它还为初学者学习 Python 提供了一种绝佳的方式。
  • 您可以在 Python 窗口的提示部分输入代码,记录部分会记录已运行的所有代码以及任何结果或消息。
  • Python 窗口与 ArcGIS Pro 中的地理处理框架完全集成。您可以将当前地图中的图层用作工具输入,将输出添加到当前地图,并将执行的工具添加到地理处理历史记录中。您还可以将图层和工具拖到 Python 窗口中以协助编写代码。
  • Python 窗口包含几种类型的自动完成提示,可帮助您编写正确的语法并减少拼写错误。
  • 您可以将代码从 Python 窗口保存到脚本文件,也可以将现有脚本中的代码加载到 Python 窗口中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

0neKing2017

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值