运行独立脚本

ArcGIS Pro 包括默认只读型基于 conda 的 Python。该 Python 可用于 ArcGIS Pro,也是用于运行独立脚本的 Python。

此默认 conda 环境 arcgispro-py3 包含 ArcGIS Pro 所使用的所有 Python 库以及其他几种 Python 库,例如 scipypandas。可以通过一些快捷键来访问该环境,包括 Python 命令提示符快捷键,该快捷键可以打开通过 arcgispro-py3 环境初始化的命令提示符。

有关 ArcGIS Pro 应用程序中 Python 的详细信息,请参阅 Python 软件包管理程序

问题和回答

注:

本部分的所有回答均假设 ArcGIS Pro 已安装在 c:\Program Files\ArcGIS 下。按用户安装或按自定义位置安装时请更新路径。

如何运行独立脚本?

在其他 ArcGIS 产品中,可通过以下命令提示符运行 Python 脚本:

c:\python27\ArcGIS10.7\python.exe my_script.py

ArcGIS Pro 中,可以使用以下更新的路径来运行相同的脚本:

c:\Progra~1\ArcGIS\Pro\bin\Python\scripts\propy.bat my_script.py

此处,propy.bat 用作调用 python.exe 的替代。

是否需要激活 conda 环境才能运行独立脚本?

否。可以使用 c:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-py3 下的 python.exe 来运行脚本。也可以按上述方式调用 c:\Progra~1\ArcGIS\Pro\bin\Python\scripts\propy.bat

为什么要使用 propy.bat?

ArcGIS Pro 工程中工作时,可以通过特定组和特定版本的 Python 包来创建和使用新的 conda 环境。例如,运行独立脚本时,如果运行 c:\Progra~1\ArcGIS\Pro\bin\Python\envs\arcgispro-py3\python.exeArcGIS Pro 的默认 conda 环境),则无需具有 ArcGIS Pro 应用程序中使用的那一组软件包。这就是为何使用 propy.bat 的原因:因为它可以确定应用程序的活动 conda 环境并在独立脚本中将其激活。

propy.bat 和 proenv.bat 之间有哪些区别?

这些区别如下所示:

  • propy.bat - 替代 python.exe。可以激活 ArcGIS Pro conda 环境 arcgispro-py3 并启动 Python。无论是否以 Python 文件作为参数,都可以调用 propy.bat
    • 如果以脚本作为参数,则 propy.bat 可执行以下操作:
      1. 激活 ArcGIS Pro conda 环境
      2. 启动 Python
      3. 运行指定脚本
      4. 退出 Python 和环境
    • 如果在没有参数的情况下调用 propy.bat,则将激活 conda 环境,并以交互式窗口模式 (REPL) 启动 Python。
  • proenv.bat - 激活 ArcGIS Pro 环境,然后打开 Windows 命令提示符。由此,可以通过输入 Python 来调用 arcgispro-py3\python.exe 以启动交互式终端会话,或者输入 python,后跟要运行的脚本名称。

安装 conda 包是否需要管理权限?

否。截至 ArcGIS Pro 2.2,默认 arcgispro-py3 环境无法使用 ArcGIS Pro 包管理器进行修改,即使使用管理权限运行 ArcGIS Pro 也是如此。要安装 conda 软件包,您可以通过 ArcGIS Pro 包管理器或 conda 命令行实用程序来创建环境。

注:

默认 arcgispro-py3 环境可以使用 conda 命令行实用程序进行修改;但是,通常不建议这样做。在按计算机 ArcGIS Pro 安装中修改 arcgispro-py3 环境需要管理权限。

启动 Python 命令提示符窗口时,为何会出现访问被拒绝错误?

您不能使用 conda 命令来修改 conda 环境或包。但是,不会影响您使用 Python(包括 proenv.batpropy.bat)。有关管理权限,请参阅上一问题。

相关主题


在本主题中
  1. 问题和回答