Descripción
Es común emplear ModelBuilder para ayudar a automatizar un proceso que consume mucho tiempo. Es posible que el modelo deba ejecutarse fuera del horario laboral como una tarea programada y, para ello, se necesita una secuencia de comandos de Python:
import arcpy
arcpy.ImportToolbox(r"path\to\toolbox.tbx")
arcpy.ModelName_ToolboxAlias()
Por lo general, esto se ejecuta sin errores. Sin embargo, el código puede generar un error tipo AttributeError como el siguiente:
'module' object has no attribute 'ModelName_ToolboxAlias'
o
Object: Tool or environment <> not found.


Causa
Invocar un modelo a través de Python puede generar un error de tipo AttributeError debido a una de las siguientes causas:
- El archivo del modelo no existe
- El nombre del modelo está mal escrito.
- El alias de la caja de herramientas está mal escrito
- Hay espacios o guiones bajos o
- El modelo se creó en ArcGIS Pro y se invoca con el ArcPy instalado con ArcGIS for Desktop
Para solucionar la causa exacta, pruebe lo siguiente:
import arcpy
arcpy.ImportToolbox(r"path\to\toolbox.tbx")
arcpy.ToolboxAlias.ModelName()
El error difiere ligeramente, lo que ayuda a encontrar el objeto exacto que Python no puede encontrar.- AttributeError: el objeto "module" no tiene ningún atributo "Model"
Esto indica que el modelo no existe, que el nombre del modelo está mal escrito o contiene espacios o guiones bajos. - AttributeError: el objeto "module" no tiene ningún atributo "ToolboxAlias"
Esto indica que el alias de la caja de herramientas está mal escrito o contiene espacios o guiones bajos.
Note:
Models that are newly created, as well as any models that have been edited and saved in ModelBuilder in ArcGIS Pro, cannot be used in other ArcGIS for Desktop applications. Therefore, attempts to call a model created in ArcGIS Pro with the ArcPy in Python 2.7, will raise an AttributeError. See: ModelBuilder: Migration to ArcGIS Pro
Solución o solución alternativa
Las soluciones son para:- Asegurarse de que el modelo exista
- Asegurarse de que el alias de la caja de herramientas y el nombre del modelo estén escritos correctamente
- Eliminar espacios o guiones bajos en los nombres y alias
- Utilizar el Python instalado en ArcGIS Pro para invocar modelos creados en ArcGIS Pro
Por ejemplo, en el cuadro de diálogo Propiedades de la caja de herramientas, en Alias, elimine el guion bajo (_)

Si es necesario, el guion bajo (_) también se puede eliminar desde el cuadro de diálogo Propiedades de la herramienta de secuencia de comandos o modelo:

Una vez que se han eliminado los guiones bajos (_) del alias de la caja de herramientas o del nombre de la herramienta, la herramienta se puede utilizar en la ventana de Python.