选择不同的Python解译程序(安装)

原发文时间:2012-11-27 09:04:34

原发文链接:http://fmepedia.safe.com/articles/How_To/Choosing-a-different-Python-Interpreter-installation

整理:怕冷的企鹅

什么是Python解译程序?

解译程序是Python安装的另一名称。FME安装拥有自己的Python解译程序,但用户可能会想要使用不同的版本。

为什么用户想要选择不同的Python解译程序?

以下列出了用户选择不同Python解译程序的几类原因:


        当创建一个Python脚本,既要支持FME,也要支持ArcGIS(例如),您需要指定FME使用的Python解译程序为ArcGIS的安装版本,才能确保双方都能正常工作。
       当您需要解译FME的第三方Python程序包,若升级FME的版本,但要避免使用重新安装的新Python程序包,就需要使用原有版本的Python解译程序。
       当您需要运行一个脚本在不同的FME版本的Python安装环境下,您就需要直接安装同一个版本的环境来调用它。例如,FME(当前)使用的是Python V2.7的版本。整合FME和第三方Python模块的平台应用的是Python V2.6的版本,则需要将统一版本到V2.6的版本中。

 

为FME安装Python

基于以上原因,安装了不同版本的Python时,我们建议您使用选项“只为我安装”,而不是“为所有用户安装”。

另外请注意,您将无法在一个32位版本的FME中使用64位的Python,反之亦然。

 

FME2012中选择Python的解译程序

选择不同的Python解译程序满足FME的需要,您只需要配置解译程序的dll文件。在FME2012中设置如下:
                选择菜单栏的 【工具】>【FME 选项】命令
                选择“runtime”tab页
                选中选项“使用自定义Python解译程序”
                选择你希望使用的Python的本地 DLL文件。

注意:请注意,此选项控制FME作为一个整体,而不仅仅是当前的工作空间。因此,所有的FME处理都将使用这种替代版本的Python,直到你恢复选项。

 

为FME Server/FME Engine2012选择Python解译程序

选项#1 FME Server2012的设置

使用此项功能,您将可以改变用户登录后在FME Server的Windows运行的服务。进入Windows服务面板并右键点击FME Server服务获得属性窗口。在服务的属性窗口中点击log on页面并改变用户和密码为当前用户的信息,重启FME Server的服务。

现在您可以使用命令行接入FME Engine来改变Python解译程序。做在使用fme Desktop的FME Workbench组件中相同的操作。

 

打开命令窗口和向导指定您的FME Engine路径:

 <FMEServer>\Server\fme

在命令行提示下输入以下两行命令,需要根据实际情况替换<pythonpath>内容:

1. fme APPLY_SETTINGS "Python/Use Custom Python" true

2. fme APPLY_SETTINGS "Python/Python Interpreter" <pythonpath>

例如

fme APPLY_SETTINGS "Python/Python Interpreter" "C:/fmepython27"

 

此操作要在每个安装了FME Engine的机器上运行。

此设置可以在运行中设置为不可用:

fme APPLY_SETTINGS "Python/Use Custom Python" false

 

选项#2 FME Server2012的设置

若由于某些原因,您不能更改登录用户的FME Server Windows服务,则可以利用创建FME Engine的注册表信息来完成重定义Python解译程序。

有两个.reg文件分别隶属于32位和64位的FME。选择此文件并编辑Python的解译程序目录为你需要的路径。然后双击文件就可以添加注册信息。

 

FME Server2013的说明

在FME Server2013的命令行界面中,可用于添加注册表项,而不需要在FME Server Windows服务中运行的用户信息。再次打开命令窗口,然后定位到您的FME引擎目录下:

<FMEServer>\Server\fme

 

在命令行提示下输入以下两行命令,需要根据用户需要替换<pythonpath>内容:

1. fme APPLY_SETTINGS SYSTEM "Python/Use Custom Python" true

2. fme APPLY_SETTINGS SYSTEM "Python/Python Interpreter" <pythonpath>

 

 

FME2011或更早的版本关于Python解译程序的设置

FME 2011版本(及更早的版本)未包含Python解译程序选项。所以设置相对复杂。

或者:
在FME Workbench的编辑头文件(Edit Header)对话框中添加一行“FME_PYTHON_VERSION 2.x”(此处的x代表的是3到7之间的数字)

或者:
设置环境变量FME_PYTHON_VERSION 到2.x(此处的x代表的是3到7之间的数字)


 

已知问题

在使用2011版本时,会存在以下问题:


             当使用一些方法(methods),FME将忽视内置的解译程序,即使与自身版本一致
             这些方法(methods)将在FME2012中工作,但需要重新设置Python解译程序选项(若需要)
             FME选择第一个Python解译程序是来自PATH环境变量指定的版本,所以选择一个指定的解译程序(例如ArcGIS)需要优先设置此项
             请注意,若按照其他内置Python的软件时,会有可能破坏用户原有的PATH的环境变量配置内容

 

用户如何找到Python的DLL?

如何安装Python主要依据您使用的操作系统。

若您安装32位Python“for all users”在32位的机器上,它的路径应该是:c:\Windows\System32

若您安装32位Python“for all users”在64位机器上,它的路径应该是:c:\Windows\SysWOW64

若您安装64位Python“for all users”在64位机器上,它的路径应该是:c:\Windows\System32

若您安装的Python为“just for me”,则它将在固定Python的安装文件夹中,例如:c:\Python26

 

Python解译程序改变是否带来一些问题?

ArcGIS10 Desktop安装将会把它的Python DLL放到Windows的文件夹下,若您安装不同版本的Python并“for all users”,程序将自定覆盖ArcGIS安装时的Python内容。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值