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!
Solved! Go to Solution.
This is the same answer as provided in gis.stackexchange.com two days ago.
- V
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.
@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?
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.
This is the same answer as provided in gis.stackexchange.com two days ago.
- V
Thank you everyone for your comments and helpful insight!