Solved

Python configured for FME Server 2020.2 to use with ArcGIS Pro 2.7

  • 18 January 2021
  • 9 replies
  • 37 views

Badge +1

Hi,

I have a workspace that was set up with Python Compatibility of Python 3.7+.

 

PythonCompCustomed Python interpreter and Python Home with python 3.7 within the ArcGIS Pro directory.

PythonInter This workspace worked fine with FME Desktop 2020.2 but failed when I run it in FME Server 2020.1.1. The error message was:

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

 

I tried to change the Python Compatibility to Esri ArcGIS Python 3.6 and it didn't work with either the FME desktop or server as it seems this only supports ArcGIS Pro up to 2.6.

Can anyone please help? Would be much appreciated.

 

icon

Best answer by ninixink 13 May 2021, 03:01

View original

9 replies

Badge +22

Python for ArcGIS Pro 2.7 was only supported in desktop as of FME 2020.2.1.1 b20812

If your server is only 2020.1.1 then it's not supported.

 

You can either upgrade your server or follow the steps for configuring a custom python interpreter. https://docs.safe.com/fme/html/FME_Server_Documentation/AdminGuide/Using-Python-with-FME_Server.htm#Changing

Badge +8

Hi @ninixink​ , As @jdh​ mentioned ArcGIS Pro 2.7 was released in mid-December and our team has worked hard to include the support for Pro 2.7 see details in the article Notes on FME and Esri Versions and Compatibility

Please confirm that the version compatibility matches from ArcGIS products based on the table mentioned.

 

Additionally, in your workspace setting, you should set the PythonCompatability to "Esri ArcGIS Python 3.6+"

NOTE: It is very important that the correct user is running FMEEngine that have access to ArcGIS Pro and ArcGIS Pro is licensed for that user (if licensing is set to per user). See the Requirement section of the above article.

 

Badge +1

Hi @ninixink​ , As @jdh​ mentioned ArcGIS Pro 2.7 was released in mid-December and our team has worked hard to include the support for Pro 2.7 see details in the article Notes on FME and Esri Versions and Compatibility

Please confirm that the version compatibility matches from ArcGIS products based on the table mentioned.

 

Additionally, in your workspace setting, you should set the PythonCompatability to "Esri ArcGIS Python 3.6+"

NOTE: It is very important that the correct user is running FMEEngine that have access to ArcGIS Pro and ArcGIS Pro is licensed for that user (if licensing is set to per user). See the Requirement section of the above article.

 

Thanks @rahulsharma​. I can't find Python Compatibility of "Esri ArcGIS Python 3.6+" but only "Esri ArcGIS Python 3.6". pythonversionI have tried "Esri ArcGIS Python 3.6" but the workspace failed again with this error message:

ERROR : Installed version of ArcGIS Pro '2.7' is unsupported. Esri Python Compatibility supports ArcGIS Pro versions '1.3' to '2.6'

ERROR : A compatible ArcGIS application could not be found or is not licensed for Python Compatibility 'Esri ArcGIS Python 3.6'

The workspace has Python Compatibility set to 'Esri ArcGIS Python 3.6', which requires an appropriate version of ArcGIS Pro or ArcGIS Server. If ArcGIS is not required by this workspace, then update Python Compatibility to a non-Esri-ArcGIS Python. Otherwise, please install the required ArcGIS product, or if ArcGIS Desktop already installed, update Python Compatibility to 'Esri ArcGIS Python 2.7'. To update this setting, go to: Navigator -> Workspace Parameters -> Scripting -> Python Compatibility

 

So it seems like the only set up I can get the workspace run now is to set the PythonCompatibility to Python 3.7+ and the PythonInterpreter to Python3.7.dll file sitting in ArcGIS Pro directory.

 

Also with your Note, I have access to ArcGIS Pro, uploaded/published the workspace to FMEServer with my account, and run the workspace using my account, does that mean I am the correct user running FMEEngine?

 

Badge +1

Python for ArcGIS Pro 2.7 was only supported in desktop as of FME 2020.2.1.1 b20812

If your server is only 2020.1.1 then it's not supported.

 

You can either upgrade your server or follow the steps for configuring a custom python interpreter. https://docs.safe.com/fme/html/FME_Server_Documentation/AdminGuide/Using-Python-with-FME_Server.htm#Changing

Hi @jdh​ , thanks so much for your quick response.

I have followed the steps for configuring a custom python interpreter to Python 3.6 within ArcGIS (I have reinstalled ArcGIS Pro 2.4 so I don't have to update FME server for now).

pythonCommandAs I ran the scripts (as admin), it didn't send me back any feedback saying that they have been updated successfully or not. I am wondering is there a way that I can check if my FME Server now has been configured successfully with the custom python interpreter?

Badge +8

Hi @ninixink​ 

Sorry about the type it is supposed to be Esri ArcGIS Python 36 

And you will need FME Desktop 2020.2.2 (b20812 or newer) see the log file below 

FME 2020.2.1.1 (20201215 - Build 20812 - WIN64)
                 
Creating reader for format: Esri Geodatabase (File Geodb)
Trying to find a DYNAMIC plugin for reader named `GEODATABASE_FILE'
Loaded module 'GEODATABASE_FILE' from file 'C:\Program Files\FME_2020_2_20812_x64\GEODATABASE9.dll'
FME API version of module 'GEODATABASE_FILE' matches current internal version (3.8 20200115)
Opening the Geodatabase reader
The ArcObjects license 'Advanced' is being selected from the ESRILicenseInfo ArcObjects call
FME has checked out an Esri license. The product checked out is 'Advanced'
Installed ArcGIS version is '2.7.0'
Connected to the File Geodatabase at 'C:\Users\rsharma\Desktop\ReproDocuments\TransitLineAnnotationGDB.gdb'
File Geodatabase release: '10.0'

Do you have the correct FME Desktop/Server build number? 

Also with your Note, I have access to ArcGIS Pro, uploaded/published the workspace to FMEServer with my account, and run the workspace using my account, does that mean I am the correct user running FMEEngine?

To answer this 

First confirm that ArcGIS Pro is install for ALL USERS on the machine. https://www.screencast.com/t/GEvZQWxOt

 How to confirm the above, on your FME Server machine check the installation directory for ArcGIS Pro 

For ALL USERS  %System Drive%\Program Files\ArcGIS\Pro

For per-user  %System Drive%\%USERPROFILE%\AppData\Local\Programs\ArcGIS\Pro 

 

 

Open service.msc, check FMEEngine is run by which user? 

Now Log on to the FME Server machine using that account(from services.msc)

Confirm that using this user your ArcGIS Pro instance available and licensed. 

If licensed FME should have picked up the license. 

In that case, ensure that you license the ArcGIS PRO again for that user and re-run the workspace. 

 

You can avoid all this if ARCGIS PRO is installed and license correctly for per-machine 

see below as an example. 

msiexec.exe /i <Path to msi> /qb ALLUSERS=1 ESRI_LICENSE_HOST=yourlicenseserver SOFTWARE_CLASS=Professional AUTHORIZATION_TYPE=CONCURRENT_USE

For a full list of the command see the ArcGIS Pro installation guide 

 

 

 

Badge +1

Hi @ninixink​ 

Sorry about the type it is supposed to be Esri ArcGIS Python 36 

And you will need FME Desktop 2020.2.2 (b20812 or newer) see the log file below 

FME 2020.2.1.1 (20201215 - Build 20812 - WIN64)
                 
Creating reader for format: Esri Geodatabase (File Geodb)
Trying to find a DYNAMIC plugin for reader named `GEODATABASE_FILE'
Loaded module 'GEODATABASE_FILE' from file 'C:\Program Files\FME_2020_2_20812_x64\GEODATABASE9.dll'
FME API version of module 'GEODATABASE_FILE' matches current internal version (3.8 20200115)
Opening the Geodatabase reader
The ArcObjects license 'Advanced' is being selected from the ESRILicenseInfo ArcObjects call
FME has checked out an Esri license. The product checked out is 'Advanced'
Installed ArcGIS version is '2.7.0'
Connected to the File Geodatabase at 'C:\Users\rsharma\Desktop\ReproDocuments\TransitLineAnnotationGDB.gdb'
File Geodatabase release: '10.0'

Do you have the correct FME Desktop/Server build number? 

Also with your Note, I have access to ArcGIS Pro, uploaded/published the workspace to FMEServer with my account, and run the workspace using my account, does that mean I am the correct user running FMEEngine?

To answer this 

First confirm that ArcGIS Pro is install for ALL USERS on the machine. https://www.screencast.com/t/GEvZQWxOt

 How to confirm the above, on your FME Server machine check the installation directory for ArcGIS Pro 

For ALL USERS  %System Drive%\Program Files\ArcGIS\Pro

For per-user  %System Drive%\%USERPROFILE%\AppData\Local\Programs\ArcGIS\Pro 

 

 

Open service.msc, check FMEEngine is run by which user? 

Now Log on to the FME Server machine using that account(from services.msc)

Confirm that using this user your ArcGIS Pro instance available and licensed. 

If licensed FME should have picked up the license. 

In that case, ensure that you license the ArcGIS PRO again for that user and re-run the workspace. 

 

You can avoid all this if ARCGIS PRO is installed and license correctly for per-machine 

see below as an example. 

msiexec.exe /i <Path to msi> /qb ALLUSERS=1 ESRI_LICENSE_HOST=yourlicenseserver SOFTWARE_CLASS=Professional AUTHORIZATION_TYPE=CONCURRENT_USE

For a full list of the command see the ArcGIS Pro installation guide 

 

 

 

Thanks @rahulsharma​ . I still can't get my head around this. 

My FME Server and Desktop Builds are as below: FMEBuildsAs you can see I have installed 2 versions of the FME Desktop. This was because I have another issue with the FME server using another workspace that has an Emailer transformer which threw me another Python error message, someone suggested me to install FME Desktop 2020.1.1.1 just to see if it is compatible with my FME Server 2020.1.1. See https://community.safe.com/s/feed/0D54Q00008NpRRNSA3.

However, it didn't help, not sure if it's because the builds are still different? 

I should mention that our FME Server was installed on a remote machine. 

I have tried: 

  • Re-install ArcGIS Pro 2.4 rather than ArcGIS Pro 2.7. 
  • Re-published the workspace again from FME Desktop 2020.1.1.1 to FME Server 2020.1.1. 
  • In the remote machine that the FME server was installed, went to Sevices - updated FME Server Application/Server Core/Server Database and Sever Engines details of "Log on As" from Local System to the account which was authorised to use ArcGIS Pro. Restarted the service. 
  • I also open ArcGIS Pro using my account in the remote machine.

All of these changes still threw me the same error message: 

ArcObjects could not be initialized. ArcGIS Pro or Pro-Compatible ArcGIS Server required for the specified Python Compatibility 'Esri ArcGIS Python 3.6'. Please install required ArcGIS product, or if ArcGIS Desktop already installed, update Python Compatibility to 'Esri ArcGIS Python 2.7'. To update setting, go to: Navigator -> Workspace Parameters -> Scripting -> Python Compatibility

 

Badge +8

Hi @ninixink​ I have escalated this to a support ticket. I think we can have a screen share to help you resolve the issue.

Badge +1

Hi @ninixink​ I have escalated this to a support ticket. I think we can have a screen share to help you resolve the issue.

Thanks so much @rahulsharma​ . Appreciate your support and look forward to hearing from you.

Badge +1

Thanks so much, @rahulsharma​  for helping out with this & sorry I only have time today to share the workaround way for this issue, in case anyone else encounters the same issue.

Basically, I gave up on using python commands for this workspace and just used simple FME transformers instead as this is just a simple workspace used for truncating then inserting new rows on our Esri Geodatabase (File Geodb).

 

Safe support tech and I have gone through a number of ways to resolve this and the workaround way for now for us are:

  1. Install ArcGIS Pro 2.4 in our server machine which works with our FME Server 2020.1; I use the Single Use license authorization method as it seems to be the most stable.
  2. Server Engine is set to be run by our service account.
  3. This is the most important part - Instead of using Feature Reader, we use Reader, Esri Geodatabase format (File Geodb) (not Open API). Both FeatureReader and Reader with Open API did create issues, so we stick with Reader and Esri Geodatabase (File Geodb) format.

 

Reply