HOW TO

AttributeError beim Aufrufen eines Modells oder Skriptwerkzeugs über Python

Last Published: April 26, 2024

Beschreibung

ModelBuilder wird häufig eingesetzt, um einen zeitaufwändigen Prozess zu automatisieren. Das Modell muss möglicherweise nach den Bürozeiten als geplanter Task ausgeführt werden. Dazu ist ein Python-Skript erforderlich:

import arcpy
arcpy.ImportToolbox(r"path\to\toolbox.tbx")
arcpy.ModelName_ToolboxAlias()
In der Regel wird dieses ohne Fehler ausgeführt. Der Code kann jedoch einen AttributeError auslösen, wie zum Beispiel:
'module' object has no attribute 'ModelName_ToolboxAlias'
oder
Object: Tool or environment <> not found.
Abbildung der vom Benutzer hinzugefügten URL

Abbildung der vom Benutzer hinzugefügten URL

Ursache

Das Aufrufen eines Modells über Python kann aufgrund einer der folgenden Ursachen einen AttributeError auslösen:

  • Das Modell ist nicht vorhanden
  • Der Name wurde falsch geschrieben
  • Der Toolbox-Aliasname wurde falsch geschrieben
  • Es sind Leerzeichen oder Unterstriche vorhanden oder
  • Das Modell wurde in ArcGIS Pro erstellt und wird mit einer Installation von ArcPy und ArcGIS for Desktop aufgerufen
Versuchen Sie Folgendes, um die Ursache zu beheben:
import arcpy
arcpy.ImportToolbox(r"path\to\toolbox.tbx")
arcpy.ToolboxAlias.ModelName()
Der Fehler unterscheidet sich geringfügig. Dies hilft dabei, genau das Objekt zu finden, das Python nicht finden kann.
  1. AttributeError: 'module' object has no attribute 'Model'
    Dies deutet darauf hin, dass das Modell nicht vorhanden ist, der Modellname falsch geschrieben ist oder Leerzeichen oder Unterstriche vorhanden sind.
  2. AttributeError: 'module' object has no attribute 'ToolboxAlias'
    Dies deutet darauf hin, dass der Toolbox-Aliasname falsch geschrieben ist oder Leerzeichen oder Unterstriche vorhanden sind.
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

Lösung oder Problemumgehung

Die Lösungen lauten:
  • Sicherstellen, dass das Modell vorhanden ist
  • Sicherstellen, dass der Toolbox-Aliasname und der Modellname richtig geschrieben sind
  • Entfernen von Leerzeichen oder Unterstrichen in Namen und Aliasnamen
  • Verwenden des in ArcGIS Pro installierten Python zum Aufrufen von in ArcGIS Pro erstellten Modellen
Entfernen Sie z. B. im Dialogfeld Toolbox-Eigenschaften unter Alias den Unterstrich ( _ )

Abbildung der vom Benutzer hinzugefügten URL Abbildung der vom Benutzer hinzugefügten URL

Der Unterstrich ( _ ) kann bei Bedarf auch im Dialogfeld Eigenschaften des Modell- oder Skriptwerkzeugs entfernt werden:

Abbildung der vom Benutzer hinzugefügten URL Abbildung der vom Benutzer hinzugefügten URL
Nachdem die Unterstriche ( _ ) aus dem Toolbox-Aliasnamen und/oder dem Werkzeugnamen entfernt wurden, kann das Werkzeug im Python-Fenster verwendet werden.
Abbildung der vom Benutzer hinzugefügten URL

Artikel-ID: 000014511

Benachrichtigungen erhalten und Lösungen für neue oder häufige Probleme finden

Unser neuer KI-Chatbot stellt zusammengefasste Antworten und Videolösungen für Sie bereit.

Esri Support App herunterladen

Zugehörige Informationen

Weitere Informationen zu diesem Thema erkunden

Unterstützung durch ArcGIS-Experten anfordern

An den technischen Support wenden

Esri Support App herunterladen

Zu Download-Optionen wechseln