在FME的Python环境中安装第三方模块

作者:杠铃和薯条

一、关于FME的Python环境的简单介绍

原本是想写一下关于爬虫的第三篇文章的,不过由于准备资料太麻烦。刚好最近手头有很多关于python方面相关的东西。遇上我就偷了个懒,先简单的讲一讲FME当中的Python环境吧。

二、讲在最前面,丢不掉的Python2.7

首先,最重要一句要讲在前面。

在2020版本之后的版本中,FME默认已经不在安装Python2.7环境。经常有小伙伴在使用过程中遇到问题,花费大量时间排查来排查去,最后尴尬的发现,自己没有装Python2.7。

虽然已经不推荐使用Python2.7来处理数据,但因为arcgis10.x版本使用的是Python2.7的缘故……除非你不再使用arcgis10.x,不然,建议还是装上。

三、FME中的Python环境介绍

然后,我们来看一下在fme中的python环境。

FME中的Python环境的入口,位于FME安装目录下,其入口为该目录下的fme.exe文件。

在FME安装目录下打开CMD,键入以下代码:

 

fme.exe Python

即可看到Python加载成功的消息,它的使用与普通的Python并无差别。

图片

接着,打开FME desktoP安装目录下的Python文件夹,你会看到里面一堆的第三方库,这就是FME所使用的Python依赖环境。

这个环境下的大部分包,都可以直接在PythonCaller里面imPort即可使用,无需安装。

仔细往下翻,你会惊奇的找到一个叫做“PIP”的文件夹。对,FME是自带第三方库的,我们可以通过它,使用PIP命令进行Python第三方库的安装。

图片

当然,我们并不推荐你将第三方库安装到该目录下的,因为如果直接安装在在FME的Python环境中安装第三方模块的安装路径的Python目录下,当安装某些包存在依赖包,会更新FME原本环境下的这些依赖环境,这很容易破坏FME环境的稳定。

我们推荐的第三方库的安装环境位于“我的文档→FME→Plugins→Python”目录下。

图片

位于该目录下的Python依赖库,是多个不同版本的FME质检共享的,这意味着,我安装一次之后,无论是哪一个版本的FME都能导入使用这个第三方库。

在FME Server中,它也是存在着一个同样的环境,它位于如下目录。

C:\ProgramData\Safe Software\FMEServer\resources\engine\plugins\python

接下来,我们就可以使用PIP进行Python第三方库环境的安装了。

四、使用PIP进行第三方库的安装

在软件安装目录下,打开命令行,键入如下命令安装

 

fme.exe python -m pip install<package_name> --target <package_destination_folder>

以安装openpyxl库为例,则需要运行如下命令:

 

fme.exe python -m pip install openpyxl --target"C:\Users\admin\Documents\FME\Plugins\Python"

由于国内网络环境的原因,直接使用pip安装有可因为网络问题而报错。因此可使用国内镜像安装,目前国内常用的国内的镜像环境如下:

项目

网址

豆瓣

https://pypi.douban.com/simple

阿里云

https://mirrors.aliyun.com/pypi/simple/

清华

https://pypi.tuna.tsinghua.edu.cn/simple

中科大

https://pypi.mirrors.ustc.edu.cn/simple

在安装时,直接键入只需要在原本的命令行后面添加“-i <镜像网址>”,就可以了。

还是以上面的第三方库为例:

 

fme.exe python -m pip install openpyxl --target"C:\Users\admin\Documents\FME\Plugins\Python" -ihttps://pypi.tuna.tsinghua.edu.cn/simple

如果使用豆瓣和阿里的镜像,有可能会报错,报错原因其实是因为不信任镜像源网站。将其添加到信任中即可:

 

fme.exe python -m pip install openpyxl --target"C:\Users\admin\Documents\FME\Plugins\Python" -ihttps://pypi.douban.com/simple --trusted-host pypi.douban.com

五、FME结合Python的成果展示

最后,贴两个个人使用FME的几个小例子:

1、调用arcgis的Python包,将FME里面几个巨耗内存的空间分析转换器能重写了一遍。(在某些特定数据环境下非常方便,避免了FME与arcgis之间因为数据的精度,算法不同而导致的分析结果不同的情况。)

图片

2、使用FME结合第三方库,生成真正“图文并茂”的word文章。(通过预先设计好的word模板文件,自动化写出图表、文字,表格齐全的word文档。所有的图、表、文字都是模板运行时自动输出的)

图片

最后生成的效果图如下:

图片

总之,当FME遇上Python,GIS软件的“瑞士军刀”和代码界的“瑞士军刀”相互结合,你会有一种,无论遇到什么,我都想用FME去试一试的想法。

  • 3
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值