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:

> fme.exe python -m pip install <package_name>

Um beispielsweise ein Paket mit dem Namen PyExecJS zu installieren:

> fme.exe python -m pip install PyExecJS

Dieser Befehl installiert das Python-Modul in das gemeinsame Python-Benutzerverzeichnis von FME:

C:\Users\<user>\Documents\FME\Plugins\Python\python<XY>

Dabei steht <user> für den Windows-Benutzernamen und<XY> für die Python-Version des FME-Python-Interpreters.

Hochladen des Python-Moduls

  1. Suchen Sie im Verzeichnis C:\Users\<user>\Dokumente\FME\Plugins\Python die Dateien oder Ordner des von Ihnen installierten Python-Moduls, z. B. .pyc- oder.py-Dateien, sowie alle Unterverzeichnisse, die möglicherweise init.pyc- oder main.pyc-Dateien Ihres Pakets enthalten.

  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)

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.