Question

Why is FME calling ArcGIS Python?


Userlevel 1
Badge +8

I am running FME 20170331 - Build 17280 - Win64, with ArcGIS Desktop 10.5 and ArcGIS Pro 1.4 in the background.

For ArcGIS Desktop I also installed the Background Geoprocessing extension to enable a 64-bit Python with arcpy. For ArcGIS Desktop, that's of course always for Python 2.7.

 

ArcGIS Pro comes with Python 3.5 and is a 64-bit system.

When I ran my workbench with four little Python scripts, whereof not a single one is calling arcpy, gp or something related to ESRI Python modules, only standard modules are used, then I got a Python error:

 

File "c:\\apps\\arcgis\\desktop10.5\\arcpy\\arcpy\\geoprocessing\\_base.py", line 14, in <module>

 

import arcgisscripting

 

ImportError: No module named arcgisscripting
  • I set my Pythonpath to the bin64 folder of the desktop10.5 installation, referencing the 64-bit geoprocessing tools, and adjusted the Python interpreter in FME to 'Esri ArcGIS Desktop Python(2.7)'
    • I ran the workbench and got the same error message
  • I adjusted the Pythonpath variable to the bin directory in the ArcGIS Desktop installation, referencing the 32-bit geoprocessing tools
    • I ran the workbench, finished this time succesful the translation and got:

       

      File "c:\\apps\\arcgis\\desktop10.5\\arcpy\\arcpy\\geoprocessing\\_base.py", line 14, in <module> import arcgisscripting

       

      ImportError: DLL load failed: %1 is not a valid Win32-program.
  • I adjusted the Pythonpath variable to the bin directory of th ArcGIS Pro installation and the Python interpreter in FME to 'Esri ArcGIS Pro 1.4+ Python (3.5+)'
    • I ran the workbench again, and was back to square one:

       

      File "c:\\apps\\arcgis\\desktop10.5\\arcpy\\arcpy\\geoprocessing\\_base.py", line 14, in <module> import arcgisscripting

       

      ImportError: No module named arcgisscripting

All modules imported in the Python scripts are: time and os. At some places the scripts make use of FME_MacroValues, converting them from integer to string... but nowhere do they call ArcGIS Desktop.

 

Is ArcGIS Desktop called because some of the output is written to file geodatabases?

 

Why are there errors about not finding 'arcgisscripting' as soon as I reference a 64-bit Python and errors about not matching architecture (32 vs 64-bit) when using a 32-bit Python?

 

Why does FME never look for ArcGIS Pro, but always for ArcGIS Desktop?


3 replies

Badge

It's tricky for us to diagnose issues of this nature from the info provided. Please open a support case with us through support@safe.com, and include any sample workspaces. Thanks!

Badge

Hi @tb09114,

Did you finally get an answer from SAFE ?

I have exactly the same problem.

In my case, I believe this error is coming from fact that the Workbench has been saved by a user which had changed in his FME configuration the Python interpreter to the one of ArcGIS.

And we now are seeing that error at the end of every Workbench he saved though not a single mention of arcpy is present in the workbench.

I tried saving them again with a default FME Python interpreter configured but it does not work and I don't want to recreate every single workbench !

Cheers

Userlevel 4

I'll just add that I've seen the same message several times as well, but it seems to be dependent on something I cannot quite reproduce.

Reply