Skip to main content
Released

Update to Python 3.x

Related products:FME Form
  • November 2, 2015
  • 8 replies
  • 54 views

Forum|alt.badge.img
FME 2015 and I see 2016 comes with Python 2.7.
Upgrading to Python 3.x would allow the use of the improvements those versions provide, including native UniCode Support (an extension of takashi's Idea here: https://knowledge.safe.com/content/idea/19381/pyth...)

This post is closed to further activity.
It may be an old question, an answered question, an implemented idea, or a notification-only post.
Please check post dates before relying on any information in a question or answer.
For follow-up or related questions, please post a new question or idea.
If there is a genuine update to be made, please contact us and request that the post is reopened.

8 replies

david_r
Celebrity
  • November 2, 2015
Hi

 

 

I agree, but it might break existing workspaces, so my suggestion would be to leave the Python version as a workspace parameter, where you could choose between 2.7.x or 3.x

 

 

I know that Python 3 has been on the block for a while now, but it's been a long time since I heard anything about it. Maybe @daleatsafe can tell us more?

 

 

David

 


takashi
Celebrity
  • November 2, 2015
I noticed a new workspace parameter called "Python Interpreter" in FME 2016 Workbench beta build 16115+, although the 3.4 interpreter has not been bundled yet . I think it would be ideal if the user can choose interpreter as a workspace level option.'

fmelizard
Safer
Forum|alt.badge.img+22
  • Safer
  • November 2, 2015
Here is our roadmap with respect to Python versioning (and yes, in FME 2016 there is a per-workspace parameter that you can use to pick your Python version.):

 

 

  • FME 2015, whenever FME loads a Python version 2.6 or earlier, warn to the log file that support for this version of Python is deprecated and will be removed in a future release of FME (and collect stats)
  • FME 2016, drop support for Python versions 2.6 and earlier.
  • FME 2016, introduce initial support for Python 3.4 interpreters and version checking and for specific core operations that do not need a plugin interface (PythonCaller/PythonCreator, Startup/Shutdown scripts, Scripted Parameters). Ship a Python 3.4 interpreter in addition to 2.7
  • FME 2016, Python 2.7 is the default interpreter. Plugins need this for now.
  • FME 2017, Python 2.7 is the default interpreter. Add Python 3.4 unicode string support in our APIs. Will NOT break existing callers as we will create two interfaces.
  • FME 2017, Upgrade all applicable FME format and transformer plugins to Python 3.4 and unicode. These plugins will then work in both 2.7 and 3.4
  • FME 2018, Python 3.4 is the default interpreter and we still support Python 2.7
  • FME 2021 would cease support for Python 2.7+, but continue to ship

david_r
Celebrity
  • November 3, 2015

Excellent, thanks a lot for the thorough reply!


takashi
Celebrity
  • November 3, 2015

Good to hear that. Thanks for posting the concrete roadmap!


fmelizard
Safer
Forum|alt.badge.img+22
  • Safer
  • August 6, 2016

The Python 3.4 work is well underway in FME 2017. We're not done, but if anyone wants to try the betas and flip the Python Interpreter parameter @takashi mentions, we'd be interested in the feedback.


Forum|alt.badge.img+1

This has been released as part of FME 2017.0 . Visit http://www.safe.com/downloads to download it and give it a spin.


sigtill
Supporter
Forum|alt.badge.img+25
  • Supporter
  • March 20, 2018

Mixing 27 and 34 on FME Server creates crazyness! Related to this: https://knowledge.safe.com/idea/36272/allow-different-fme-cloud-python-interpreter.html