laptop and a wrench

Bug

The 'Current' keyword in the script tool does not reference the project currently loaded into the application.

Last Published: November 17, 2022 ArcGIS Pro
Bug ID Number BUG-000151663
SubmittedAugust 18, 2022
Last ModifiedJune 5, 2024
Applies toArcGIS Pro
Version found3.0
Operating SystemN/A
Operating System VersionN/A
StatusAs Designed

Additional Information

Although the keyword 'Current' works the same in the Python window, notebooks, and script tools, the core geoprocessing functions do not return 'arcpy.mp Layer objects'. Instead, it returns 'Result objects', and it is up to the user to use the correct index to return the appropriate object from the result. The code below is modified to return a layer object from the geoprocessing 'Result object', and this works in models, stand-alone scripts, script tools, and the Python window. p = arcpy.mp.ArcGISProject('current') m = p.listMaps('Map')[0] lyr1 = m.listLayers('States_WithRegions')[0] res = arcpy.management.Merge(['States_WithRegions', 'Provinces'], os.path.join(basePath, 'GPSyncLayers.gdb', 'MergeOutputOpt1')) resLyr = m.addDataFromPath(res[0]) Note that the geoprocessing tools run from the Python window or notebooks often automatically add layer results to the table of contents. This is a geoprocessing option that can be configured, but it does not automatically add layers if run from a script tool. This is because script tools are designed to work out of process, even if views are not active to add the output to. Use the logic above to more consistently get the expected results.

Workaround

Use the Python Window or notebooks in ArcGIS Pro.

Steps to Reproduce

Bug ID: BUG-000151663

Software:

  • ArcGIS Pro

Get notified when the status of a bug changes

Download the Esri Support App

Discover more on this topic

Get help from ArcGIS experts

Contact technical support

Download the Esri Support App

Go to download options