Wie registriere ich Eintrittspunkte für Netzwerk-Python-Paket-Installationen?

8

Ich habe eine Benutzerumgebung, in der die meisten Python-Pakete auf einer Netzwerkfreigabe installiert sind und über die Umgebungsvariable PYTHONPATH zur Verfügung gestellt werden. Python selbst wird immer noch lokal installiert. Einige dieser Pakete müssen setuptools Einstiegspunkte registrieren. Normalerweise würde dies passieren, indem Sie die setup.py -Datei für das Paket ausführen, aber da diese an einem Netzwerkspeicherort installiert sind, wird setup.py niemals mit der lokalen Installation von Python ausgeführt.

Gibt es eine Möglichkeit, Einstiegspunkte zu registrieren, ohne ein Paket in der lokalen Python-Installation zu installieren?

Ein Beispiel für einen Einstiegspunkt, der einen Rückruf für ein Plugin-System registriert

%Vor%     
Brendan Abel 05.05.2016, 19:14
quelle

1 Antwort

2

Ausführen setup.py

Die Einstiegspunkte console_scripts und gui_scripts erstellen eigenständige Skripts, die ein aufrufbares Objekt umbrechen. Das Paket coverage ist ein gutes Beispiel dafür. Es verfügt über einen Einstiegspunkt, um aus praktischen Gründen ein Wrapper-Skript zu erstellen. Beispiel setup.py Snippet, um ein Konsolenskript zu erstellen:

%Vor%

Es ist möglich, die Skripte nur über setup.py in einem angegebenen Verzeichnis zu installieren. Ein vorhandenes Skript wird nur überschrieben, wenn das Argument --force übergeben wird.

%Vor%

Bei einem Plugin wird der Einstiegspunkt als Metadaten in einem Ei gespeichert, das normalerweise zusammen mit dem Paket installiert wird. Beispiel für einen Plugin-Einstiegspunkt:

%Vor%

Es ist möglich, die Metadaten eines Pakets (einschließlich aller Einstiegspunkte) nur über setup.py in ein bestimmtes Verzeichnis zu installieren.

%Vor%

Rollen Sie Ihre eigenen

Wenn setup.py nicht ausgeführt werden kann, um die Ei-Metadaten zu schreiben, ist es durchaus möglich, eigene zu rollen, da es sich nur um eine Textdatei in einem Verzeichnis handelt. Beispiel-Metadaten basierend auf dem obigen Einstiegspunkt:

%Vor%

So testen Sie die Einstiegspunktsuche:

%Vor%     
Lex Scarisbrick 17.05.2016, 20:14
quelle