Solved

Python Exception <ModuleNotFoundError>: No module named 'fmepy_emailer'


Badge +5

Hi,

 

After upgrading FMECloud to version 2022 our emailer complains with the following error:

Python Exception <ModuleNotFoundError>: No module named 'fmepy_emailer'
PythonFactory failed to load python symbol `fmepy_emailer.Emailer'
Factory proxy not initialized
Emailer_CALLER (PythonFactory): PythonFactory failed to process feature
An error has occurred. Check the logfile above for details

It looks like the emailer depends on a internal package called fmepy_emailer that does not exist in the environment.

 

icon

Best answer by markw 7 June 2022, 17:38

View original

8 replies

Badge

Hi @Paal Pedersen​, I'm sorry you've run into this issue! It appears some components of the Emailer package unexpectedly went missing after the upgrade. Could you please republish the workspace that uses the Emailer and upload the Emailer package, then run the workspace?

 

If that doesn't fix the issue, then please try upgrading to the latest version of the Emailer package (3.0.2) and follow the instructions in my response to soothsayers in this community post (you'll have to click More Answers to see it). Please let me know if that works or not!

Badge +5

Hi, your soultion did not work. I have upgraded to the lastest version, uploaded the package with the workspace, still same issue with missing module.

Badge +5

Our workaround now is to turn off emailer. Wondering if we should reuse the old python emailer.

Badge

Hi, your soultion did not work. I have upgraded to the lastest version, uploaded the package with the workspace, still same issue with missing module.

You'll need to delete the Emailer package contents from the FME Server Engine folders at Resources > Engine > Packages > [build-os]. Check each directory within that path (i.e: PackageFiles, python, etc) and delete any safe.emailer folders. Then run the workspace again that uses the Emailer. If that doesn't work, delete the [build-os] folder and FME Server will recreate it after running a job that uses a package. Deleting this folder does not require you to reupload all of your packages, this simply makes FME Server reinstall the packages when they're used again. Please let me know how that goes!

 

 

Badge +5

You'll need to delete the Emailer package contents from the FME Server Engine folders at Resources > Engine > Packages > [build-os]. Check each directory within that path (i.e: PackageFiles, python, etc) and delete any safe.emailer folders. Then run the workspace again that uses the Emailer. If that doesn't work, delete the [build-os] folder and FME Server will recreate it after running a job that uses a package. Deleting this folder does not require you to reupload all of your packages, this simply makes FME Server reinstall the packages when they're used again. Please let me know how that goes!

 

 

thanks this solved the problem!

Badge +2

Another thing to check is the permissions of the package folder.

If you're in a linux (or container) environment, navigate to /data/fmeserverdata/resources/engine and run ls -la and check that the Packages folder is owned by fmeserver:

 

Packages folder permissionsIf that folder is owned by someone different to fmeserver (or root) you will need to do a chown so that fmeserver owns that folder (fmeserver uid and gui is 1363).

Badge +4

Another thing to check is the permissions of the package folder.

If you're in a linux (or container) environment, navigate to /data/fmeserverdata/resources/engine and run ls -la and check that the Packages folder is owned by fmeserver:

 

Packages folder permissionsIf that folder is owned by someone different to fmeserver (or root) you will need to do a chown so that fmeserver owns that folder (fmeserver uid and gui is 1363).

Destroying the packages worked. But nice how did you ssh into fmecloud? or is it your local linux fmeserver?

We had the same problem after the Security Update 11 Aug 22. Deleting the packages on the server didn't work until we manually upgraded the transformer in the workbench. Then republished, all good now.

 

Reply