我在用FME配置Anaconda时也遇到了类似的问题,这篇文章有所帮助,但忽略了一些兼容性的细节。希望这能在将来节省一些时间
- FME/Anaconda/Python的版本必须兼容。我有FME 2018.1,需要在非2.7 python中实现的功能,而当前版本的Anaconda是python 3.7(不支持2018 FME)。所以我必须找到一个旧版本的Anaconda,它支持FME支持的python版本3。Anaconda3-4.2.0-Windows-x86_64用python 3.5来满足这个需求。或者将FME更新到2019年也可以解决这个问题。
-指定路径每@david_r帖子
如果存在python兼容性问题,FME将恢复到默认安装,忽略Anaconda安装
-我也没有本地管理,但非管理本地安装的蟒蛇似乎工作得很好(AppData\ local \Continuum\
太好了!
是的,在你的帮助下,我发现了问题!
由于某些原因,FME自定义Python解释器仅引用我的基本Anaconda环境,即使在不同的环境中使用PYTHONPATH和dll。还是不知道为什么…但是在我的基本环境中安装了必要的包。虽然不完美,但它确实有用。
谢谢!
您可以使用一个鲜为人知的技巧来使用FME调用Python提示符,这样您就有了一个交互式会话,您可以在其中检查PYTHONPATH、版本等。
从命令行转到安装FME的目录并键入
fme.exe python
希望这能帮助你找到问题所在。
谢谢你的帮助和截图。运行Anaconda2似乎工作得很好(FME,告知|Python 2.7版本加载成功)。然而,由于某些原因,我仍然无法从FME pythoncaller导入定制包(gdal,geopandas,rasterstats),导致以下错误:
Python异常:DLL加载失败:
但是使用anaconda提示符在相同的anaconda环境中导入包是成功的
(gdal) C: python python 2.7.15 |Anaconda, Inc.|(默认,2018年11月13日,17:33:26)1500 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information.
> > >进口gdal
> > >进口geopandas
> > >进口rasterstats
>>>
你知道是什么原因导致这个错误吗?
我能够使用FME与Anaconda作为Python解释器使用以下设置:
在FME选项:
在工作空间脚本参数:
我认为最重要的方面是匹配FME和Anaconda的“bitness”,例如你不能使用FME 32位和Anaconda 64位。
PYTHONHOME可以在FME翻译选项中找到。我尝试将其设置为包含python.exe的目录,该目录位于我的特定Anaconda环境中(C:\(…)\anaconda2\envs\gdal)。然而,这并没有起作用,即使在重新启动之后也是如此。FME似乎仍然在使用其内置的Python和基本包。
dll的路径不一定决定实际使用哪一个Python解释器。您试过设置PYTHONHOME环境变量吗?在最新版本的FME 2018.1中,你可以在FME选项中设置PYTHONHOME,在更早的版本中,你需要将它定义为一个系统环境变量(可能需要重启你的电脑才能生效)。