Hello everyone, I am trying to automate a model I have built in Arcpro. I have looked at other posts with similar issues, but can't seem to fix it or figure out what I'm doing wrong. Please help
The model takes a CSV, creates points (customers) then draws a line from point to point according to the matching xy in each customer. It also creates another point file with another CSV file. Heres what it looks like:
Using online resouces I created a script to automate the running of this model because it needs to be updated every day, however I get an error that the model has no atribute. I have tried calling it as "arcpy.automate.Model_() and without the underscore as well ("_") I am using spyder IDLE to run the code, it doesnt seem to work in the ArcPro python window either.
Heres the code:
import arcpy
arcpy.env.workspace=("C://Users/Planner1/Documents/ArcGIS/Projects/Automate_links_round2/Automate_links_round2.gdb")
arcpy.env.overwriteOutput = False
print ('Script started')
# import the toolbox
arcpy.ImportToolbox(r"C:/Users/Planner1/Documents/ArcGIS/Projects/Automate_links_round2/Automate.tbx")
print ('Toolbox imported')
#import the model
arcpy.automate.Model()
print ('Model imported')
print ('Script finished')
And here is the metadata for the tool:
Error:
runfile('C:/Users/Planner1/Documents/KML_Codes/Schedule Model builder.py', wdir='C:/Users/Planner1/Documents/KML_Codes')
Script started
Toolbox imported
Traceback (most recent call last):
File "<ipython-input-6-a3a2d3d140f5>", line 1, in <module>
runfile('C:/Users/Planner1/Documents/KML_Codes/Schedule Model builder.py', wdir='C:/Users/Planner1/Documents/KML_Codes')
File "C:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-py3\lib\site-packages\spyder_kernels\customize\spydercustomize.py", line 827, in runfile
execfile(filename, namespace)
File "C:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-py3\lib\site-packages\spyder_kernels\customize\spydercustomize.py", line 110, in execfile
exec(compile(f.read(), filename, 'exec'), namespace)
File "C:/Users/Planner1/Documents/KML_Codes/Schedule Model builder.py", line 19, in <module>
arcpy.Model()
AttributeError: module 'arcpy' has no attribute 'Model'
Please let me know if I need to add any more info to help answer this question.
Thanks for the help,
Solved! Go to Solution.
Ok.. makes more sense now. You might want to provide the 'alias' for the toolbox.
If your model is named "Model" and your toolbox is named "Automate"
you should be able to...
arcpy.ImportToolbox(r"C:/Users/Planner1/Documents/ArcGIS/Projects/Automate_links_round2/Automate.tbx, 'autostuff'"
then
arcpy.Model_autostuff or arcpy.autostuff.Model
link to the documentation you are using since it doesn't even register in arcpy for Pro 2.4?
dir(arcpy.automate)
Traceback (most recent call last):
File "<ipython-input-3-3922f2da4268>", line 1, in <module>
dir(arcpy.automate)
AttributeError: module 'arcpy' has no attribute 'automate'
dir(arcpy.Model)
Traceback (most recent call last):
File "<ipython-input-4-79fd79a0764b>", line 1, in <module>
dir(arcpy.Model)
AttributeError: module 'arcpy' has no attribute 'Model'
Thanks for the response Dan, where do I find the documentation? Sorry I'm kind of a newbie.
David … it is this line …. arcpy.automate.Model() . When I import arcpy and do a dir(arcpy.automate) it produces an error, so where does this line come from?
Ohh, sorry Dan. automate is the toolbox and Model() is the model name. I am going off of what ESRI has on their site.
Schedule a model—ArcGIS Pro | ArcGIS Desktop
import arcpy
arcpy.ImportToolbox(r"C:\path\myToolbox.tbx", "tbxAlias")
arcpy.myModel_tbxAlias(r"c:\pathToInput\inputFolder", r"C:\pathToGdb\output.gdb")
Ok.. makes more sense now. You might want to provide the 'alias' for the toolbox.
If your model is named "Model" and your toolbox is named "Automate"
you should be able to...
arcpy.ImportToolbox(r"C:/Users/Planner1/Documents/ArcGIS/Projects/Automate_links_round2/Automate.tbx, 'autostuff'"
then
arcpy.Model_autostuff or arcpy.autostuff.Model