运行独立脚本

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

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

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

问题和回答

注:

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

如何运行独立脚本?

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

c:\python27\ArcGIS10.8\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 环境并打开命令提示符窗口。 由此,可以通过输入 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. 问题和回答