FME Version
Introduction
FME Desktop supports a variety of licensed, installed versions of Esri ArcMap and Esri ArcGIS Pro applications. What if a system has both Esri ArcMap and Esri ArcGIS Pro installed and licensed? How does FME Desktop select the appropriate Esri libraries to ensure workspace compatibility with a preferred or even necessary Esri product?
Setting Esri ArcGIS Compatibility for a Workspace
As of FME Desktop 2021.x, the Esri ArcGIS Compatibility workspace parameter has been added to support systems with licensed and installed versions of both Esri ArcMap and Esri ArcGIS Pro applications. This parameter allows users to specify the Esri library requirements for their workspaces, enhancing workspace compatibility with a preferred Esri product. This parameter may be accessed from the FME Workbench Navigator window.
Double-click the Esri ArcGIS Compatibility parameter and, in the dialog that opens, expand the drop-down menu to reveal three options:
Auto (default) - if required, Esri ArcMap, Esri ArcGIS Pro, or equivalent must be installed and licensed on the system. This setting preferentially makes use of Esri ArcMap libraries, and then looks for Esri ArcGIS Pro libraries if ArcMap libraries are not found.
Esri ArcMap - Esri ArcMap or equivalent must be installed and licensed on the system;
Esri ArcGIS Pro - Esri ArcGIS Pro or equivalent must be installed and licensed on the system. This setting is recommended if you are reading and/or writing ArcGIS Pro annotation features, Esri Knowledge graphs, and any other ArcGIS Pro-specific formats / features.
Alternatively, the Esri ArcGIS Compatibility workspace parameter can be accessed from the FME Options menu, located in the Tools tab of FME Workbench.
Setting the parameter from FME Options to either Esri ArcMap or Esri ArcGIS Pro will change the default value in the associated Navigator parameter for all subsequent initiated workspaces. Setting the parameter from the Navigator will not affect the default value set in FME Options.
Esri ArcGIS Compatibility and Python Compatibility
There is another workspace parameter to be aware of when considering your Esri ArcGIS Compatibility selection. The related Python Compatibility parameter controls which Python interpreter is loaded by FME to execute user-specified Python scripts in a workspace (eg. PythonCaller, Startup or Shutdown Python scripts). The Python Compatibility parameter is accessible from within the FME Workbench Navigator window.
For FME Desktop 2020.x and earlier, this parameter also exclusively controlled which Esri libraries were loaded for the workspace by offering Esri ArcGIS Python x.x options. If users selected the Esri ArcGIS Python 2.7 option, then the ArcGIS Desktop (ArcMap) libraries were automatically loaded. Alternatively, if users selected one of the Esri ArcGIS Python 3.x options, then the ArcGIS Pro libraries were automatically loaded. With the introduction of the Esri ArcGIS Compatibility parameter for FME Desktop 2021.x, the Esri libraries and the Python interpreter loaded for a workspace can now be specified in separate parameters.
FAQs
FME Desktop Related
Q. Do I have to set both the Esri ArcGIS Compatability and the Python Compatability Workspace Parameters?
A. No, it is not mandatory to set both workspace parameters. However, it is important to note that these two parameters are not completely independent of one another; the Python Compatibility parameter still offers Esri ArcGIS Python x.x options and is, therefore, still linked to the behavior of Esri-related workspace elements. Where this link becomes important is those instances where you would like to select Esri ArcMap for your Esri ArcGIS Compatibility parameter. If you choose a Python Compatibility option without the Esri prefix (i.e. Python 3.9+), you may choose any option for the Esri ArcGIS Compatibility parameter, including Esri ArcMap. The user-specified Python scripts in the workspace will utilize the Python interpreter set by the selected Python Compatibility parameter, and the Esri-related components of the workspace will use those settings specified by the selected Esri ArcGIS Compatibility parameter.
Q. What happens if I select a Python Compatibility option that won’t work with my target Esri ArcGIS Compatibility option?
A. If you choose an Esri-prefixed option for the Python Compatibility parameter (eg. Esri ArcGIS Python 3.7+), you will not be able to select Esri ArcMap for the Esri ArcGIS Compatibility parameter of your workspace. This is by design, to avoid Python interpreter conflicts between Esri ArcMap (which utilizes the now-deprecated Python 2.7 interpreter) and one of these Esri ArcGIS Python 3.x options. In such instances, the following dialog will be displayed:
Essentially, in specifying an Esri-prefixed Python Compatibility parameter, you are telling your workspace to apply one of the more current Python 3.x interpreters to Esri-related workspace elements. This will function as expected for Esri ArcGIS Pro-related workspace elements, as Esri ArcGIS Pro makes use of Python 3.x exclusively.
However, if you try to specify an Esri-prefixed Python Compatibility parameter as well as the Esri ArcMap option for the Esri ArcGIS Compatibility parameter, you are trying to tell your workspace to make use of two different Python interpreters (Python 3.x and Python 2.7.x respectively) for Esri-related workspace elements. You will receive the warning dialog, shown above, informing you that there is a conflict between the two workspace parameters, and a suggestion on how to resolve the conflict. In general, if you want to set your Esri ArcGIS Compatibility parameter to Esri ArcMap, you must make use of a Python Compatibility option that is not Esri-prefixed to avoid Python interpreter conflicts with Esri-related workspace processes.
Q. I have selected Esri ArcMap as my Esri ArcGIS Compatibility option, and have verified that my Python Compatibility parameter is not set to an Esri-prefixed option. Why is my workspace still showing translation errors?
A. Esri ArcMap is a 32-bit application. If you are attempting to use ArcMap libraries with a 64-bit version of FME Desktop, you must have a version of 64-bit Background Geoprocessing installed on your system which matches the version of ArcMap installed. For example, if you have ArcMap 10.6.1 installed, you must also have 64-bit Background Geoprocessing 10.6.1 (and ONLY this version) installed. Version mismatches between Esri ArcMap and 64-bit Background Geoprocessing, as well as multiple installations of 64-bit Background Geoprocessing are often the cause of errors associated with Esri formats in FME translations.
Q. I recently upgraded my version of FME Desktop, and now my ArcGIS-related translations won’t work no matter how I set my Esri ArcGIS Compatibility or Python Compatibility parameters! What might be going on?
A. Verify the version of ArcGIS Pro / ArcGIS Desktop installed, to ensure compatibility with the upgraded version of FME Desktop. Please see our Notes on FME and Esri Versions and Compatibility article for more information.
FME Server Related
Q. If I am seeing error(s) in my FME Server job logs related to Esri formats, will this new workspace parameter alleviate these issues?
A. While it is possible that setting the Esri ArcGIS Compatibility workspace parameter may help, if the workspace involved is not showing errors related to Esri compatibility in FME Desktop, then there is likely another issue underlying the error(s) shown in the FME Server job logs. A good place to start investigating FME Server and Esri product compatibility issues is by reading through our Using FME Server with Esri ArcGIS Software article.
Additional Resources
FME and Esri ArcGIS Troubleshooting Guide
Errors with FME 64-bit and ArcGIS Background Geoprocessing
FME 2021 and Python 2.7 Error - FME Community Question Thread
Python 2.7 Deprecation
Note: the Python Compatibility information discussed above assumes that no custom Python interpreter is used by the workspace. In other words, the Preferred Python Interpreter setting under the Translations menu in FME Options does not specify a custom Python interpreter.
Comments
0 comments
Please sign in to leave a comment.