AnsweredAssumed Answered

Upgrade to ArcGIS 10.3 produces strange behavior with Python

Question asked by Caleb1987 on Jan 5, 2015
Latest reply on Jan 5, 2015 by Caleb1987

I have recently upgraded to ArcGIS 10.3 and all my script tools are not working.  For some reason, within any ArcGIS process, the built-in sys module does not have the argv attribute.  It works as expected in stand-alone.  This affects me because I use sys.argv in virtually all the script tools I have developed for my organization (70+) to pass in arguments.

 

For example, if I have a function like this:

 

def function(arg1, arg2, arg3):
    pass

 

It is easier to call the function and pass in parameters from a script tool like this:

 

function(*sys.argv[1:])

 

rather than:

 

param1 = arcpy.GetParameterAsText(0)
param2 = arcpy.GetParameterAsText(1)
param3 = arcpy.GetParameterAsText(2)

function(param1, param2, param3)

 

However, after the upgrade, ONLY in any ArcGIS process the sys module is lacking the argv attribute.  See pictures below:

 

fails in ArcGIS Python Window

ags_pywin.PNG

 

and works as expected in regular IDLE shell

idle.PNG

 

Is there something different about how ArcGIS is accessing Python in version 10.3?

Outcomes