免费视频|新人指南|投诉删帖|广告合作|地信网APP下载

查看: 2994|回复: 4
收起左侧

[资料] 在ArcGIS Pro 1.3之外运行arcpy独立脚本

[复制链接]

66

主题

1364

铜板

7

好友

工程师

Rank: 7Rank: 7Rank: 7

积分
584
发表于 2017-5-18 16:49 | 显示全部楼层 |阅读模式
背景

ArcGIS Pro像ArcMap一样,其中也嵌入了Python。 不同在于ArcGIS Pro采用了python较新的版本3.4,ArcMap仍然沿用2.x版本。 ArcGIS Pro 1.3版本开始Python环境有点小变化,为了方便包管理esri开始采用Conda。 并且不像开始 ArcGIS Pro 1.1,1.2 版本,需要单独安装Python for ArcGIS Pro,在1.3版本python包随ArcGIS Pro一同自行安装。

文档的原文摘过来能更好的理解esri采用Conda的意图:

Python has a rich ecosystem of preexisting packages that can be leveraged within ArcGIS, but managing which packages are installed on a system can be a complex and time-consuming task, especially when working on multiple projects or trying to share code with others.
To leverage this versatility, the Python community has created methods to easily create projects in multiple versions of Python and simplifies the process of installing nearly all publicly available Python packages. Conda is the most popular and widely used Python package manager.

执行脚本

这些改变,对于习惯在 ArcGIS Pro 内部的脚本命令行中执行脚本的用户并没有多大影响。 但是如果已经习惯了在ArcGIS Pro 之外独立执行脚本,那如下的改变要注意下了。

ArcGIS Pro 的Python包不再是ArcMap默认安装的位置 C:\Python27 ,而是安装在 ArcGIS Pro的安装目录\bin\Python 。

ArcGIS Pro 采用了的Conda环境为 arcgispro-py3,有几个方式可以访问这个环境。


1. 交互式执行python命令

打开ArcGIS Pro安装目录下propy.bat文件,默认位于:
"C:\Program Files\ArcGIS\Pro\bin\Python\Scripts\propy.bat"


2 执行py文件

CMD打开命令行窗口,通过propy文件执行脚本,例如默认位置:
"C:\Program Files\ArcGIS\Pro\bin\Python\Scripts\propy" myscript.py

备注:MyScript内容就两行: import arcpy, print("arcpy imported")


3 批处理py文件

通过 call 函数来调用 propy

@echo Run my Python script
call "%PROGRAMFILES%\ArcGIS\Pro\bin\Python\Scripts\propy" myscript.py
@echo Finished

例子:

备注: 三个脚本分别打印 AAA, BBB, CCC。


使用Python IDE

有一个好用IDE是件美好的事情,大家应该都有各自的真爱,我就不做任何推荐啦。 在Pro之外独立执行脚本导入arcpy站点包的时候,只要注意将Python解释器的路径指向正确即可。

如果你的机器上既安装了ArcGIS Desktop,又安装了ArcGIS Server或者ArcGIS Desktop的后台64位补丁包,并且又安装了ArcGIS Pro, 那么可能在机器上有多个Python环境。

我自己在用 Pycharm ,在需要导入 ArcGIS Pro 的python站点包时,注意指向:"C:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-py3\python.exe"

注意,在python IDE 中不要将解释器指向这个 python.exe , ["C:\Program Files\ArcGIS\Pro\bin\Python\python.exe"]

否则你在导入 arcpy 模块时会遇到找不到模块的错误: ImportError: No module named ‘arcpy’






评分

参与人数 1威望 +20 铜板 +80 收起 理由
jimi21 + 20 + 80 感谢分享!

查看全部评分

0

主题

2万

铜板

15

好友

版主

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

积分
2428

宣传勋章爱心勋章组织勋章优秀斑主地信元老灌水勋章荣誉会员勋章活跃勋章官方团队地信专家组VIP勋章贡献勋章名人堂勋章成就学员勋章

发表于 2017-5-19 12:21 | 显示全部楼层
感谢分享···
回复 支持 反对

使用道具 举报

0

主题

4万

铜板

12

好友

钻石会员

Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26

积分
6499
发表于 2024-3-1 15:02 | 显示全部楼层
谢谢分享
回复

使用道具 举报

0

主题

4万

铜板

12

好友

钻石会员

Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26

积分
6499
发表于 2024-4-4 14:51 | 显示全部楼层
感谢分享
回复

使用道具 举报

0

主题

2868

铜板

2

好友

教授级高工

Rank: 12Rank: 12Rank: 12

积分
1258
发表于 2024-5-13 10:23 | 显示全部楼层
学习学习
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

在线客服
快速回复 返回顶部 返回列表