Publishing GP tools as GP services using Python 32- or 64-bit dependencies

3058
5
Jump to solution
07-05-2016 01:29 PM
FrancescoTonini2
Occasional Contributor II

Assumptions for Desktop environment:

Windows 10 64-bit

ArcMap 10.3.1

Python 2.7 32-bit (installed by ArcMap)

Assumptions for Server environment:

Windows Server 2012 64-bit

ArcMap 10.3.1

ArcServer 10.3.1

Python 2.7 32-bit (installed by ArcMap)

Python 2.7 64-bit (installed by ArcServer)

My custom GP tool script is calling a 3rd party set of open source python libraries that have been developed to work within Python 2.7.x 32-bit framework. The GP tool works as expected on my desktop PC. I would like to publish my custom GP tool as a service on my remote server with both ArcGIS for Server 10.3.1 and ArcMap 10.3.1 installed on it. I am well aware that ArcServer demands a 64-bit framework for Python, so my question is: what would be the best way to publish my custom script tool (working on my desktop PC) as a service to be served within a web application (i.e. GP widget) without encountering conflicts and errors?

Thank you!

0 Kudos
1 Solution

Accepted Solutions
VinceAngelo
Esri Esteemed Contributor

This is the same answer as provided in gis.stackexchange.com two days ago.

- V

View solution in original post

5 Replies
JonathanQuinn
Esri Notable Contributor

Just make sure that the 64 bit modules you're using can be imported on your Server machine by placing them in the site-packages folder on the Server within the Python folder created during the install.  If you can open the 64 bit version of IDLE and import the 64 bit version of the module on the Server machine, your GP services will work.  This help should point you in the right direction as well.

FrancescoTonini2
Occasional Contributor II

@JonathanQuinn,

The problem is the 3rd party libraries I am using are only available in 32-bit, unless I recompile them from source into 64 bit. You are saying if I publish my GP tool from my ArcMap on my Desktop PC using these 32-bit libraries, the GP service definitely won't work?

0 Kudos
JonathanQuinn
Esri Notable Contributor

Yes, unfortunately that's the case.  Server runs the 64 bit version of Python, so it requires 64 bit versions of any modules you'll be using.

0 Kudos
VinceAngelo
Esri Esteemed Contributor

This is the same answer as provided in gis.stackexchange.com two days ago.

- V

FrancescoTonini2
Occasional Contributor II

Thank you everyone for your comments and helpful insight!

0 Kudos