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%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:
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.
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.
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:
So testen Sie die Einstiegspunktsuche:
%Vor%Tags und Links python setuptools software-distribution