Summary
License:
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.
Discussion
Note:
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.
Syntax
CheckOutExtension (extension_code)
Parameter | Explanation | Data Type |
extension_code | Keyword for the extension product that is being checked.
| String |
Data Type | Explanation |
String | There are three possible returned values for CheckOutExtension:
|
Code sample
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))