Summary
Analyzes Python scripts and custom geoprocessing tools and toolboxes for functionality that is not supported in ArcGIS Pro.
There are differences between ArcGIS Pro and ArcGIS 10.x that may mean changes to some custom tools and scripts so they run successfully in ArcGIS Pro. These changes include geoprocessing tools and environments that are not supported in ArcGIS Pro, the replacement of the arcpy.mapping module with the arcpy.mp module, unsupported data formats (such as a personal geodatabase), and an upgrade to Python 3 from Python 2.
Usage
Any issues identified will be included in the tool messages as warnings.
ArcGIS Pro uses Python 3. While many scripts may continue to work as is, others will not.
For tips in updating Python scripts to work in ArcGIS Pro, see Python migration from 10.x to ArcGIS Pro.
For Python 2 to Python 3 issues, Analyze Tools For Pro uses the Python 2to3 utility to review Python code. The Python 2to3 utility can be used to review Python 2.x code against a series of fixers that show how the code can be transformed to valid Python 3.x code.
The Python 2to3 utility can be used directly from the command prompt and has a rich set of options for analyzing Python code that are not available through Analyze Tools For Pro, such as applying only specific fixers or updating the code in place. For more information, see https://docs.python.org/3/library/2to3.html.
Syntax
AnalyzeToolsForPro(input, {report})
Parameter | Explanation | Data Type |
input | The input can be a geoprocessing toolbox, Python file, or a tool name. Note:If a tool name is specified, the tool will need to be loaded first using the arcpy.ImportToolbox function to be recognized. Tool names should include the toolbox alias. | File; String |
report (Optional) | An output text file that includes all issues. | File |
Code sample
Analyze a Python script for ArcGIS Pro.
import arcpy
arcpy.AnalyzeToolsForPro_management('c:/tools/scripts/myutils.py', 'c:/temp/analyze_report.txt')
print(arcpy.GetMessages(1))
Analyze a geoprocessing toolbox for ArcGIS Pro.
import arcpy
arcpy.AnalyzeToolsForPro_management('c:/tools/scripts/mytools.tbx', 'c:/temp/analyze_report.txt')
print(arcpy.GetMessages(1))
Analyze a geoprocessing tool for ArcGIS Pro. To analyze a tool, first import the toolbox using ImportToolbox, and then pass in the tool name with an alias to AnalyzeToolsForPro.
import arcpy
arcpy.ImportToolbox('c:/tools/scripts/mytools.tbx')
arcpy.AnalyzeToolsForPro_management('mytool_tools', 'c:/temp/analyze_report.txt')
print(arcpy.GetMessages(1))
Environments
Licensing information
- Basic: Yes
- Standard: Yes
- Advanced: Yes