前言
Python可以调用GDAL,OpenCV这些库,如果能和ArcPy弄到一起联合编程,搞一个All-in-one的解决方案,想必是很优美的。
但是ArcGIS 10.2自带的Python不带pip,笔者尝试过给他编译一个pip上去,会报InsecurePlatformWarning跟SNIMissingWarning。
*注:经笔者自行测试,在10.5、10.7版本的ArcGIS自带Python中已经可以很方便地使用各种功能了,所以使用高版本ArcGIS的用户,建议你们使用自带Python。
一些博主解决这个问题的方法是python再装上pyopenssl、ndg-httpsclient、pyasn1,yum装上python-devel、libffi-devel、openssl-devel,但是问题是yum是Fedora、RedHat或者CentOS的包管理系统啊,ArcGIS又只能装在Windows上面。
目前笔者还找不到解决的方法,所以只能先装个官方版的Python,然后把ArcPy弄进去。
操作
ArcGIS自带Python的site-package目录里面,有一个.pth文件,它指示了相应的ArcGIS组件的目录,毕竟ArcPy也只是一个中介,它还是在调用ArcGIS内部的组件。
笔者的ArcGIS版本是10.2,所以我这里这个文件就叫desktop10.2.pth。(过于直白了吧)
把它拷贝到自己安装的Python的site-package目录里面就可以了。
ArcPy依赖numpy,所以如果自己安装的Python里面没有的话,记得装上去,没有装的话import arcpy的时候会有提示的。
因为ArcGIS自带的是32位2.7版本的Python,所以我自己安装的Python也是32位2.7,3.x没有测试过。(更新:测试过了,Python3不行)