Skip to main content

Hi - I am hoping someone can help.

Apologies in advance for the long message.

I am using FME Workbench 2022.2.8.

I am trying to set up a workspace that has three readers (using a SQL database that retrieves data from three separate tables) connected to a PythonCaller and then a feature writer (connected to the Python caller) that writes the data back into a SQL database.

I need all the readers to have finished before the PythonCaller is executed as it uses all of them in the script.

I initially tried to run this using the built in Translator Python3.9+ but every time I did It said no module named pandas.

I attempted to configure my own python.exe that I have as part of anaconda navigator (2024.10.1).

I created an environment called fme_env and set the Python version to 3.9.

I was able to successfully set up all this, but I encountered the no module called FMEObjects error.

I went into my FME installation path and there was a folder called fmeobjects and inside that there were several version but I used Python39 (C:\Program Files\FME\fmeobjects\python39) .

Inside that folder there were two files fmeobjects.pyd and pluginbuilder.pyd. I copied both those files into a new folder called fme within the site-packages folder of my environment . (C:\Users\usera\AppData\Local\anaconda3\envs\fme_env\Lib\site-packages\fme)

I got an error about missing DLL files.

I used the Discrepancy Walker and it highlighted four files. (fme.dll, fmepython39.dll, fmeutil.dll and python39.dll)

The first three I found (C:\Program Files\FME) and copied them to my fme. I was unable to find the python39.dll file but I was able to find one in the environment I created (C:\Users\usera\AppData\Local\anaconda3\envs\fme_env) so copied that into the folder as well.

Same issue happened again.

As a last resort I created this script but again still no luck.

import sys

import os

sys.path.append("C:\\Program Files\\FME\\fmeobjects\\python39")

sys.path.append("C:\\Program Files\\FME\\")

os.chdir("C:\\Program Files\\FME\\") 

import fmeobjects

Any ideas on how to resolve this would be fantastic.

No idea on the python part but you can easily connect the 3 readers output to a Sampler and set it to last feature, and use that output to initiate the PythonCaller.


Pandas is not included in the standard FME Python interpreter. Also, you can’t just simply copy the FME dll’s around, they are a part of the FME installation and cannot be separated from it.

However, you can try to install Pandas into the FME Python interpreter using the instructions here: https://docs.safe.com/fme/html/FME-Form-Documentation/FME-Form/Workbench/Installing-Python-Packages.htm

If you absolutely need to use an external Python interpreter, it’s possible but a bit more involved: https://docs.safe.com/fme/html/FME-Form-Documentation/FME-Form/Workbench/Python-Compatibility.htm


Reply