公众号开始给小伙伴提供Python运用在Arcgis空间分析,没考虑到很多小伙伴可能对于环境设置存在盲区,今天给大家补充一下环境设置的内容,可以自行按照下文操作尝试一下。ArcGIS 10.3 运行 Python 脚本有2种常用方式(覆盖新手到进阶场景),以下按「操作难度从低到高」详细拆解。确认 ArcGIS 10.3 已激活许可(需包含空间分析 / 3D 分析等扩展模块,若用到);准备好待运行的 Python 脚本(保存为.py格式,建议路径为英文无空格,如E:\arcgis_script\batch_process.py);确保脚本中所有路径为绝对路径(如r"E:\data\shp"),避免相对路径导致报错。方式一:ArcGIS 10.3 Python 窗口(最简易,适合短脚本 / 调试)这是 ArcGIS 桌面端内置的 Python 交互窗口,无需配置环境,直接运行,适合新手调试单段代码或短脚本。操作步骤:
1、打开 ArcGIS 10.3 Desktop双击桌面「ArcMap 10.3」图标,选择「空白地图」或打开已有地图文档(.mxd),等待界面加载完成。
2、调出 Python 窗口
方式 1:顶部菜单栏 → 地理处理 → Python;方式 3:工具栏空白处右键 → 勾选「Python」,调出 Python 窗口(通常显示在界面底部)。若脚本较短(几十行内):直接将代码逐行复制到 Python 窗口,按回车逐行运行;若脚本较长(推荐):① 点击 Python 窗口右上角「文件夹图标」(加载脚本);② 选择已保存的.py脚本文件(如batch_process.py),点击「打开」;③ 脚本内容会加载到窗口中,点击「运行按钮」(三角形▶️)或按F5执行。运行日志 / 报错信息会直接显示在 Python 窗口下方;若脚本涉及图层输出(如栅格 / 矢量),勾选arcpy.env.addOutputsToMap = True时,结果会自动加载到 ArcMap 图层列表中。5、注意事项:
窗口中运行脚本时,不要修改脚本中的if __name__ == "__main__":块,直接运行即可;若脚本报错 “扩展模块未授权”,先手动授权:顶部菜单栏 → 自定义 → 扩展模块 → 勾选需要的扩展(如「Spatial Analyst」)。方式 2:ArcGIS 10.3 IDLE(独立编辑器,适合中长脚本)
ArcGIS 10.3 自带 Python 2.7 的 IDLE(集成开发环境),专门用于编写 / 运行 ArcPy 脚本,支持语法高亮、调试,比 Python 窗口更适合复杂脚本。
操作步骤:
1、打开 ArcGIS 10.3 IDLE
- 路径 1(32 位系统):
C:\Python27\ArcGIS10.3\Lib\idlelib\idle.bat; - 路径 2(64 位系统):
C:\Python27\ArcGISx6410.3\Lib\idlelib\idle.bat; - 快捷方式:开始菜单 → ArcGIS → Python 2.7 → IDLE (Python GUI)。✅ 关键:必须打开 ArcGIS 自带的 IDLE,而非系统其他 Python 版本的 IDLE,否则会提示 “找不到 arcpy 模块”。
2、加载 / 编写脚本
- 新建脚本:IDLE 界面 →
File → New File,粘贴已写好的脚本代码,保存为.py(如batch_process.py); - 打开已有脚本:
File → Open,选择保存的.py文件。
3、以管理员身份运行(关键!)
- 右键 IDLE 快捷方式 →
属性 → 兼容性 → 勾选「以管理员身份运行此程序」→ 确定;
4、执行脚本
- 脚本编辑界面 →
Run → Run Module(或按F5); - 运行日志 / 报错会显示在 IDLE 的 Shell 窗口中,可实时查看批量处理进度。
5、注意事项:
- ArcGIS 10.3 IDLE 基于 Python 2.7,代码中需注意:
- 中文编码:开头加
# -*- coding: cp1252 -*-或# -*- coding: utf-8 -*-; - 打印语句:用
print u"中文内容"(加u避免乱码);
- 若提示 “no module named arcpy”,说明打开了错误的 IDLE,重新从 ArcGIS 安装路径启动。
| | |
|---|
| 用了系统 Python 而非 ArcGIS 自带版本 | 重新打开 ArcGIS 10.3 自带的 IDLE/CMD 路径 |
| | 手动在 ArcMap 中授权扩展(自定义→扩展模块),或脚本中加arcpy.CheckOutExtension |
| | |
| | 所有运行方式均需勾选「管理员身份」,输出文件夹避免选系统盘(如 C:\Windows) |
| | 脚本中设置arcpy.env.addOutputsToMap = False |