补充 arcpy 限制说明:Python 2.7 环境 + Excel 输出需分离 #21

Closed
opened 2026-07-20 16:03:39 +00:00 by Huawei · 0 comments
Owner

背景

Windows 平台套件使用 runtime: arcpy 时,实际上调用的是 ArcGIS 10.x 自带的 Python 2.7,不是 agc 内置的 Python 3。

关键限制

1. arcpy 本质是 Python 2.7

steps:
  - name: do_something
    runtime: arcpy       # 实际调用: C:\Python27\ArcGIS10.8\python.exe

Python 2.7 已于 2020 年停止维护,很多现代库无法安装:

  • openpyxl — 不支持 Python 2.7
  • pandas — 最后支持 2.7 的是 0.24.x(2019年)
  • requests — 最后支持 2.7 的是 2.27.x
  • json, csv, os, sys — 标准库可用

2. Excel 输出必须用 python3 步骤

arcpy 步骤无法生成 xlsx,需要拆一个单独的 python3 步骤:

steps:
  - name: overlay_analysis
    runtime: arcpy       # arcpy + Python 2.7
    script: overlay.py
    
  - name: export_excel
    runtime: python3     # agc 内置 Python 3,有 openpyxl
    script: excel.py

需要更新的文档

文件 更新内容
suite-developer/TOOLS.md runtime 说明补充:arcpy 步骤是 Python 2.7,有库限制
suite-developer/MEMORY.md 同上
suites-help/开发者指南/Workflow-规范.md runtime 字段说明补充 arcpy -> Python 2.7
suites-help/开发者指南/脚本开发指南.md arcpy 脚本开发注意事项
suites-help/开发者指南/最佳实践.md 加一条:arcpy 步骤做 GIS 处理,python3 步骤做 Excel/输出
suites-help/示例代码/Hello-World.md 加注释说明

建议

在 runtime 说明表中补充:

runtime 执行方式 Python 版本 适用平台
docker Docker 容器 Python 3.11 Linux
python3 agc 内置 Python Python 3.x Linux + Windows
arcpy 系统 arcpy Python 2.7 Windows only

@Admin

引用:gis-actions#31

## 背景 Windows 平台套件使用 `runtime: arcpy` 时,实际上调用的是 ArcGIS 10.x 自带的 **Python 2.7**,不是 agc 内置的 Python 3。 ### 关键限制 **1. arcpy 本质是 Python 2.7** ```yaml steps: - name: do_something runtime: arcpy # 实际调用: C:\Python27\ArcGIS10.8\python.exe ``` Python 2.7 已于 2020 年停止维护,很多现代库无法安装: - ❌ `openpyxl` — 不支持 Python 2.7 - ❌ `pandas` — 最后支持 2.7 的是 0.24.x(2019年) - ❌ `requests` — 最后支持 2.7 的是 2.27.x - ✅ `json`, `csv`, `os`, `sys` — 标准库可用 **2. Excel 输出必须用 python3 步骤** arcpy 步骤无法生成 xlsx,需要拆一个单独的 `python3` 步骤: ```yaml steps: - name: overlay_analysis runtime: arcpy # arcpy + Python 2.7 script: overlay.py - name: export_excel runtime: python3 # agc 内置 Python 3,有 openpyxl script: excel.py ``` ### 需要更新的文档 | 文件 | 更新内容 | |------|----------| | `suite-developer/TOOLS.md` | runtime 说明补充:arcpy 步骤是 Python 2.7,有库限制 | | `suite-developer/MEMORY.md` | 同上 | | `suites-help/开发者指南/Workflow-规范.md` | runtime 字段说明补充 arcpy -> Python 2.7 | | `suites-help/开发者指南/脚本开发指南.md` | arcpy 脚本开发注意事项 | | `suites-help/开发者指南/最佳实践.md` | 加一条:arcpy 步骤做 GIS 处理,python3 步骤做 Excel/输出 | | `suites-help/示例代码/Hello-World.md` | 加注释说明 | ### 建议 在 runtime 说明表中补充: | runtime | 执行方式 | Python 版本 | 适用平台 | |---------|----------|-------------|----------| | docker | Docker 容器 | Python 3.11 | Linux | | python3 | agc 内置 Python | Python 3.x | Linux + Windows | | arcpy | 系统 arcpy | **Python 2.7** | Windows only | @Admin 引用:`gis-actions#31`
admin was assigned by Huawei 2026-07-20 16:03:39 +00:00
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: SuiteHub/agent-profiles#21