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.4 from Python 2.7.
Usage
Any issues identified will be included in the tool messages as warnings.
ArcGIS Pro uses Python 3.4. 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 3 migration.
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/2/library/2to3.html.
Syntax
AnalyzeToolsForPro_management (input, {report})
Parameter | Explanation | Data Type |
input | The input can be a geoprocessing toolbox, Python file, or a tool name. | File; String |
report (Optional) | An output text file that includes all issues. | File |
Code sample
Code example 1
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))
Code example 2
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))
Code example 3
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
- ArcGIS for Desktop Basic: Yes
- ArcGIS for Desktop Standard: Yes
- ArcGIS for Desktop Advanced: Yes