Descrição
É comum empregar o ModelBuilder para ajudar a automatizar um processo demorado. O modelo pode precisar ser executado após o expediente como uma tarefa agendada e, para fazer isso, é necessário um script de Python:
import arcpy
arcpy.ImportToolbox(r"path\to\toolbox.tbx")
arcpy.ModelName_ToolboxAlias()
Normalmente, isso é executado sem erros. No entanto, o código pode gerar um AttributeError como:
'module' object has no attribute 'ModelName_ToolboxAlias'
ou
Object: Tool or environment <> not found.


Causa
Solicitar um modelo por meio do Python pode gerar um AttributeError devido a um dos seguintes:
- O modelo não existe
- o nome do modelo está escrito incorretamente
- O nome alternativo da caixa de ferramentas foi escrito incorretamente
- pode haver espaços ou sublinhados, ou
- o modelo foi criado no ArcGIS Pro e é solicitado com o ArcPy instalado com ArcGIS for Desktop
Para solucionar a causa exata, tente:
import arcpy
arcpy.ImportToolbox(r"path\to\toolbox.tbx")
arcpy.ToolboxAlias.ModelName()
O erro difere um pouco, o que ajuda a encontrar o objeto exato que o Python não consegue encontrar.- AttributeError: o objeto 'module' não tem atributo 'Model'
Isso indica que o modelo não existe, o nome do modelo está escrito incorretamente ou, pode haver espaços ou sublinhados. - AttributeError: o objeto 'module' não tem atributo 'ToolboxAlias'
Isso indica que o nome alternativo da caixa de ferramentas foi escrito incorretamente ou, pode haver espaços ou sublinhados.
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
Solução ou Solução Provisória
As soluções são:- verificar se o modelo existe
- verificar se o nome alternativo da caixa de ferramentas e o nome do modelo estão escritos corretamente
- remover espaços ou sublinhados nos nomes e nomes alternativos
- utilizar o Python instalado no ArcGIS Pro para solicitar modelos criados no ArcGIS Pro
Por exemplo, na caixa de diálogo Propriedades da Caixa de Ferramentas, em Nome Alternativo, remova o sublinhado ( _ )


O sublinhado ( _ ) também pode ser removido da caixa de diálogo Propriedades da ferramenta de modelo ou script, se necessário:

Após os sublinhados ( _ ) serem removidos do nome alternativo da caixa de ferramentas e/ou do nome da ferramenta, a ferramenta poderá ser usada na janela Python.