CheckOutExtension (arcpy)

Summary

Retrieves the license from the License Manager.

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.

Discussion

TipTip:

The setting of the product and extensions is only necessary within stand-alone scripts. If you are running tools from the Python window or using script tools, the product is already set from within the application, and the active extensions are based on the Extensions dialog box.

Syntax

CheckOutExtension (extension_code)
ParameterExplanationData Type
extension_code

Keyword for the extension product that is being checked.

  • 3DArcGIS 3D Analyst extension
  • DatareviewerArcGIS Data Reviewer for Desktop
  • DataInteroperabilityArcGIS Data Interoperability extension for Desktop
  • AirportsArcGIS for Aviation: Airports
  • AeronauticalArcGIS for Aviation: Charting
  • BathymetryArcGIS for Maritime: Bathymetry
  • NauticalArcGIS for Maritime: Charting
  • GeoStatsArcGIS Geostatistical Analyst extension
  • NetworkArcGIS Network Analyst extension
  • SpatialArcGIS Spatial Analyst extension
  • SchematicsArcGIS Schematics extension
  • TrackingArcGIS Tracking Analyst extension
  • JTXArcGIS Workflow Manager for Desktop
  • ArcScanArcScan
  • BusinessBusiness Analyst
  • DefenseEsri Defense Solution
  • FoundationEsri Production Mapping
  • HighwaysEsri Roads and Highways
  • StreetMapStreetMap
String
Return Value
Data TypeExplanation
String

There are three possible returned values for CheckOutExtension:

  • NotInitializedNo desktop license has been set.
  • UnavailableThe requested license is unavailable to be set.
  • CheckedOutThe license has been set successfully.

Code Sample

CheckOutExtension example

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))

Related Topics

3/3/2014