FME Flow: 2025.0

Verwenden von Python mit FME Flow

Wenn Sie Workspaces von FME Flow ausführen, die auf Python verweisen, müssen die FME Engines wissen, welcher Python-Interpreter verwendet werden soll. Workspaces, die mit FME Form 2016 oder höher erstellt wurden, teilen der FME mit, welche Python-Version für die Ausführung von Python-Code erforderlich ist. Dies geschieht über den Workspace-Parameter Python-Kompatibilität.

Der Python-Interpreter, den die FME Engines tatsächlich verwenden, ist derjenige, der am ehesten mit dem Workspace-Parameter "Python-Kompatibilität" übereinstimmt. Dies ist standardmäßig die neueste von FME unterstützte Version von Python 3. Informationen zum Ändern des von den FME Engines verwendeten standardmäßigen Python-Interpreters finden Sie unter Ändern des Python-Interpreters (nur Windows) (unten).

Verwendung zusätzlicher Python-Module

Wenn Sie von FME Flow aus auf ein Python-Modul verweisen müssen, das nicht Teil der Python-Standardbibliothek ist, gehen Sie folgendermaßen vor: 1) Besorgen Sie sich das Modul (falls noch nicht vorhanden); und 2) Laden Sie das Modul hoch.

Beziehen des Python-Moduls

Wenn Sie das Python-Modul, auf das Sie verweisen möchten, noch nicht haben, installieren Sie das Paket mit dem folgenden Befehl:

  • Windows: fme.exe python -m pip install <package_name> --target <package_destination_folder>
  • Linux: ./fme python -m pip install <package_name> --system --target <package_destination_folder>

<package_name> ist der Name des zu installierenden Python-Pakets.

<package_destination_folder > ist der Ordner, in dem das Python-Paket installiert werden soll. Wenn nicht angegeben, lautet der Standardordner:

  • Windows: C:\Users\<user>\Documents\FME\Plugins\Python>
  • Linux: ~/.fme/Plugins/Python

Um zum Beispiel ein Paket namens PyExecJS in den Standardordner zu installieren:

  • Windows: fme.exe python -m pip install PyExecJS
  • Linux: ./fme python -m pip install PyExecJS --system

Hochladen des Python-Moduls

  1. Suchen Sie die Dateien oder Ordner des von Ihnen installierten Python-Moduls, z. B. .pyc- oder.py-Dateien, sowie alle Unterverzeichnisse, die init.pyc- oder main.pyc-Dateien Ihres Pakets enthalten können.

  2. Verwenden Sie das Werkzeug zum Hochladen auf der Seite Ressourcen der Web-Benutzeroberfläche und laden Sie diese Datei(en) und/oder Ordner in den Ordner unter Engine\Plugins\python hoch, der der mit dem Modul kompatiblen Python-Version entspricht (z. B. python36).

Ändern des Python-Interpreters (nur Windows)

Wichtig Ziehen Sie einen Wechsel des Python-Interpreters nur dann in Betracht, wenn der mit FME Flow ausgelieferte Python-Interpreter nicht mit den Python-Bibliotheken von Drittanbietern kompatibel ist, die für die Ausführung der in Ihren Workspaces referenzierten Python-Skripte erforderlich sind. Wenn Sie einen Esri ArcGIS Python-Interpreter benötigen, um ArcPy zu nutzen, setzen Sie den Workspace-Parameter Python-Kompatibilität in FME Workbench vor dem Hochladen in FME Flow auf den entsprechenden Wert Esri ArcGIS Python 3.x. Bei richtiger Einstellung ist in diesem Fall eine explizite Änderung des Python-Interpreters in FME Flow nicht erforderlich.
Hinweis  Ab der FME Flow-Version 2019.0 unter Linux wird ein Wechsel des Python-Interpreters nicht mehr unterstützt.

Gegebenenfalls möchten Sie einen anderen Python-Interpreter als den mit FME Flow gelieferten verwenden. In diesem Fall können Sie den Interpreter folgendermaßen ändern:

Hinweis  Der durch dieses Verfahren festgelegte Python-Interpreter garantiert nicht, dass die FME Engines den Interpreter für alle Workspaces verwenden. Stattdessen verwenden die FME Engines den angegebenen Interpreter für alle Workspaces, die einen Python-Kompatibilitäts-Wert haben, der mit dem angegebenen Interpreter kompatibel ist. Wenn die Python-Kompatibilität eines Workspaces nicht mit dem angegebenen Interpreter kompatibel ist, verwenden die FME Engines einen eigenen Python-Interpreter, der kompatibel ist.

Öffnen Sie eine Eingabeaufforderung mit der Option Als Administrator ausführen und führen Sie die folgenden Befehle aus:

FME Flow 2018.0 und früher

<FMEFlowDir>Server/fme/fme.exe APPLY_SETTINGS SYSTEM "Python/Use Custom Python" true

<FMEFlowDir>Server/fme/fme.exe APPLY_SETTINGS SYSTEM "Python/Python Interpreter" c:/<path_to_dll>.dll

Hinweis  Für Informationen zum Auffinden von Python-DLLs (<path_to_dll>), siehe Artikel Choosing a different Python Interpreter in der FME Community.

FME Flow 2018.1 und höher

<FMEFlowDir>Server/fme/fme.exe APPLY_SETTINGS SYSTEM "Python/Use Custom Python 64" true

<FMEFlowDir>Server/fme/fme.exe APPLY_SETTINGS SYSTEM "Python/Python Interpreter 64" c:/<path_to_dll>.dll

<FMEFlowDir>Server/fme/fme.exe APPLY_SETTINGS SYSTEM "Python/Custom Python Home 64" c:/<path_to_python_home>

Hinweis  <path_to_python_home> ist der Installationsort von Python.