Resumen
Licencia:
CheckOutExtension is only needed when using a Concurrent Use license; for all other cases it has no effect. When using a Concurrent Use license, once the extension license has been retrieved by the script, tools using that extension can be used. Once a script is finished with an extension's tools, the CheckInExtension function should be used to return the license so other applications can use it. All checked-out extension licenses and set product licenses are returned when a script completes.
Debate
Nota:
CheckOutExtension is only needed when using a Concurrent Use license; for all other cases it has no effect. When using a Concurrent Use license, once the extension license has been retrieved by the script, tools using that extension can be used. Once a script is finished with an extension's tools, the CheckInExtension function should be used to return the license to the license manager so other applications can use it. All checked-out extension licenses and set product licenses are returned to the license manager when a script completes.
Sintaxis
CheckOutExtension (extension_code)
| Parámetro | Explicación | Tipo de datos | 
| extension_code | Keyword for the extension product that is being checked. 
 | String | 
| Tipo de datos | Explicación | 
| String | There are three possible returned values for CheckOutExtension: 
 | 
Muestra de código
Check out 3D extension for use by tools.
import arcpy
class LicenseError(Exception):
    pass
try:
    if arcpy.CheckExtension("3D") == "Available":
        arcpy.CheckOutExtension("3D")
    else:
        # raise a custom exception
        raise LicenseError
    arcpy.env.workspace = "c:/GrosMorne"
    arcpy.HillShade_3d("WesternBrook", "wbrook_hill", 300)
    arcpy.Aspect_3d("WesternBrook", "wbrook_aspect")
    arcpy.CheckInExtension("3D")
except LicenseError:
    print("3D Analyst license is unavailable")
except arcpy.ExecuteError:
    print(arcpy.GetMessages(2))