Instrução

AttributeError ao solicitar um modelo ou ferramenta de script por meio do Python

Last Published: April 26, 2024

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.
Imagem adicionada pelo usuário

Imagem adicionada pelo usuário

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.
  1. 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.
  2. 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 ( _ )
Imagem adicionada pelo usuário

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

Imagem adicionada pelo usuárioApó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.  
Imagem adicionada pelo usuário

ID do Artigo: 000014511

Receba notificações e encontre soluções para problemas novos ou comuns

Obtenha respostas resumidas e soluções de vídeo do nosso novo chatbot de IA.

Baixe o Aplicativo de Suporte da Esri

Informações Relacionadas

Descubra mais sobre este tema

Obtenha ajuda de especialistas do ArcGIS

Entre em contato com Suporte Técnico

Baixe o Aplicativo de Suporte da Esri

Ir para as opções de download