Skip to main content
Question

Python FMEObjects Missing DLL files

  • October 30, 2024
  • 2 replies
  • 116 views

louiseboyce
Participant
Forum|alt.badge.img+1

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.

2 replies

nielsgerrits
VIP
Forum|alt.badge.img+53

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.


david_r
Evangelist
  • October 30, 2024

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


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