Skip to main content
Question

Custom Python interpreter setup but numpy seems to come from the default interpreter


tb09114
Supporter
Forum|alt.badge.img+23

I followed the advices in the troubleshooting from ​@lizsanderson21 to setup a custom Python interpreter in FME Flow under Windows.

I did so because I needed to install pandas in a version that requires numpy to be more recent than the one that comes with FME.

So far I thought all went fine, but when I call numpy.__version__ from within a PythonCreator then the version number returned is 1.26.2. When I use pip.exe list from within my custom Python installation folder then the numpy version returned is 2.2.6 → matching the version number from when I installed numpy through pip.
I also installed pandas and SQLAlchemy through pip and the version numbers returned from the PythonCreator do match the version numbers pip.exe list returns.

I wonder why numpy seems not to be used from the custom Python installation but rather from a fall back version that comes with FME Flow. Did I forget some step?

 

  1. I installed Python 3.12 on the FME Flow machine
  2. I ran the following three commands with the paths:
    1. <FMEFlowDir>Server/fme/fme.exe APPLY_SETTINGS SYSTEM "Python/Use Custom Python 64" true

    2. <FMEFlowDir>Server/fme/fme.exe APPLY_SETTINGS SYSTEM "Python/Python Interpreter 64" c:/<path_to_dll>.dll

    3. <FMEFlowDir>Server/fme/fme.exe APPLY_SETTINGS SYSTEM "Python/Custom Python Home 64" c:/<path_to_python_home>

  3. My Python Compatibility setting in the published workspace is set to ‘Python 3.12+’

 

I added the workspace with the PythonCreator, just in case.

3 replies

j.botterill
Influencer
Forum|alt.badge.img+40
  • Influencer
  • June 9, 2025

Half way down in this article you https://Choosing-a-different-Python-Interpreter-in-FME-installation

  • In FME Form, select Tools > FME Options from the menu bar.
  • In the FME Options dialog, select the tab for “Translation", and navigate to the Preferred Python Interpreter setting under the Python Interpreter section. Click on the drop-down and select “Use Custom Interpreter…”
  • Enter the location of the Python DLL you wish to use. If you are having trouble with determining the location of the python*.dll, please see the section titled Where to Find the Python DLL below.

    You can also set PYTHONHOME using the Python Home field. It may be necessary to set this for users with multiple Python installations, so the interpreter knows to use which set of standard libraries should be used. More information on the PYTHONHOME environment variable can be found here.

If you plan to utilise this workspace publishing it to Flow, then you need the same setup for the python environment on all machines


tb09114
Supporter
Forum|alt.badge.img+23
  • Author
  • Supporter
  • June 9, 2025

Thanks ​@j.botterill for your answer.
The workspace runs in ‘FME Form’. I am putting FME Form in quotations since I used ArcGIS Data Interoperability Workspace in version 2024.1. The installation of additional Python libraries from within ArcGIS is much easier since they basically provide a package manager, handling dependencies of libraries as well. Maybe something Safe could think about. 😉
However, my problem is not in Form, but in Flow.
Therefore, I installed Python 3.12 in the machine hosting Flow, installed all the libraries I need through pip, and continued by issuing the three command I mentioned in the initial posting.

With regards to the PYTHONHOME variable the way I understand it is that this is a setting I can do in Form using the UI (and there it runs). When I look at the three commands mentioned above then the first one is setting the use of ‘a’ custom Python interpreter. The second one tells the system where the custom interpreter is to be found, and the third one where its home directory is to establish relativ links to e.g. the site-packages folder.

It feels like I did all the references on the Flow machine and the versions for Pandas and SQLAlchemy show that it works, but why does the NumPy version suggests otherwise and how, after setting these three settings on the Flow machine can I convince Flow not to look into its own Python 3.12 stack?


virtualcitymatt
Celebrity
Forum|alt.badge.img+36
tb09114 wrote:

Thanks ​@j.botterill for your answer.
The workspace runs in ‘FME Form’. I am putting FME Form in quotations since I used ArcGIS Data Interoperability Workspace in version 2024.1. The installation of additional Python libraries from within ArcGIS is much easier since they basically provide a package manager, handling dependencies of libraries as well. Maybe something Safe could think about. 😉
However, my problem is not in Form, but in Flow.
Therefore, I installed Python 3.12 in the machine hosting Flow, installed all the libraries I need through pip, and continued by issuing the three command I mentioned in the initial posting.

With regards to the PYTHONHOME variable the way I understand it is that this is a setting I can do in Form using the UI (and there it runs). When I look at the three commands mentioned above then the first one is setting the use of ‘a’ custom Python interpreter. The second one tells the system where the custom interpreter is to be found, and the third one where its home directory is to establish relativ links to e.g. the site-packages folder.

It feels like I did all the references on the Flow machine and the versions for Pandas and SQLAlchemy show that it works, but why does the NumPy version suggests otherwise and how, after setting these three settings on the Flow machine can I convince Flow not to look into its own Python 3.12 stack?

I’m not sure if this helps, but you can have a look at the order of paths which FME will look in for imports.
 

import sys
print(sys.path)


Another thing you can try is setting the PYHTONHOME environment variable directly on the system to see if that has any effect. 

Do you see any hint in the FME log file about it using your custom interpreter?

e.g., for me with FME 2025

​​​​​​​Using Python interpreter from `C:\Program Files\FME_25220\fmepython313\python313.dll' with PYTHONHOME `C:\Program Files\FME_25220\fmepython313'

Would be intersting to know if your custom intrepreter is loading but it’s still using the numpy version which FME ships



 


Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings