麻辣GIS微信平台

更多 GIS 干货

微信关注不错过

ArcGIS 中使用64位 Python (ArcPy) 环境的方法

众所周知,在ArcGIS的系列产品中,Desktop的python环境是32位的,而Server的python环境是64位的,且使用的都是python2的语法。ArcGIS Pro使用的是python3的语法,而且python环境也是64位的。这样相比之下,Desktop的python环境会给人一种不够用的感觉,实际上也确实如此,在面对较大的数据量的时候,32位的python环境对于内存资源的使用是极其有限的,也会更容易爆出内存溢出的错误。

arcpy.mapping Export and List functions leak memory and resource handles. This causes the host process for the script to crash or become unresponsive and limits the use of arcpy.mapping inside of GP services.

该官方文件的网址见:http://downloads2.esri.com/support/documentation/ao_/10.0_SP1_Announcement.pdf 。

ArcPy漏洞截图

据官方说法,该漏洞已经在10.1的版本中修复,但在我个人的使用过程中,该漏洞在10.6的版本中也仍然是存在的。

但是后来,我偶然发现,在64位的python环境中执行该功能,就不会出现内存溢出的问题。但是Desktop自带的python环境是32位的,怎么办?

方法一

找到官方发布的BackgroundGP安装包,安装完成后,你就会拥有一个64位的python运行环境,该环境和32位的python环境是完全独立的,并且同样拥有arcpy库。

ArcGIS Desktop的python环境默认是安装在C:\Python27目录下的。再次打开该目录,你会发现目录构成如下:

ArcPy安装目录

这两个目录分别对应32位和64位的python环境,文件夹中均包含python.exe。

方法二

其实还可以装个arcgis server,它自带的Python环境也是64位的,还能用server的功能,一举两得。

PS:方法二来自大佬@超老大

结语

下次运行脚本的时候,将python的运行路径指向64位的python环境就可以了,也就是我们通常据说的改环境变量。如果不会修改环境变量,可以搜索一下,或者留言咨询。


麻辣GIS-Sailor
作者:
GIS爱好者,学GIS,更爱玩GIS。

声明

1.本文所分享的所有需要用户下载使用的内容(包括但不限于软件、数据、图片)来自于网络或者麻辣GIS粉丝自行分享,版权归该下载资源的合法拥有者所有,如有侵权请第一时间联系本站删除。

2.下载内容仅限个人学习使用,请切勿用作商用等其他用途,否则后果自负。

3.如果本文对您有所帮助,请您对我们团队进行 打赏捐助让我们在传播3S的路上可以走得更远,不胜感激。PS:如果你是学生党,请优先把经费用于购买学习资料 以及 与小哥哥/小姐姐约会上:-)

如您有疑问,可在文末留言,或到QQ群中提问。

本站QQ群(一):291616564 加入QQ群

本站QQ群(二):166408035 加入QQ群

本站QQ群(三):627853279 加入QQ群

本站QQ群(四):436386604 加入QQ群

本站QQ群(五):606176554 加入QQ群

微信公众号:malagis,扫描右边二维码直接关注。

已有 5 条评论

  1. 麻辣GIS-HanGG
    1#
    HanGG  · 2019-07-17 10:27

    你好,我不会更改环境变量,是在控制面板界面里吗

      1. 麻辣GIS-Sailor
        Sailor  · 2019-07-21 18:32

        不好意思,前几天没看到这条消息。你现在会了吗,不会可以百度搜索windows更改环境变量的教程,或者我再写个帖子。

          1. 麻辣GIS-HanGG
            HanGG  · 2019-07-22 08:11

            已经解决了,谢谢啊

          2. 麻辣GIS-HanGG
            HanGG  · 2019-07-22 09:02

            不过您要是方便的话,还是写个教程吧,我不知道我弄得对不对

  2. 麻辣GIS-mastiff
    2#
    mastiff  · 2019-08-12 16:32

    64位arcpy好像有些限制,比如PGDB,楼主能否总结一下?

发表评论