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.


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.- 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. - 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 ( _ )

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

Nachdem die Unterstriche ( _ ) aus dem Toolbox-Aliasnamen und/oder dem Werkzeugnamen entfernt wurden, kann das Werkzeug im Python-Fenster verwendet werden.