Seite 1 von 1

*.whl Datei über `requirements.txt` oder `pyproject.toml` von Github laden und installieren

Verfasst: Donnerstag 2. April 2026, 17:13
von Dennis89
Hallo zusammen,

ich habe nun recht große Freude daran, ein Projekt, das fertig/benutzbar ist, als *.whl zu speichern und zu installieren.
Wenn ich die *.whl-Datei lokal habe, dann funktioniert das wunderbar. Wenn ich das nun teilen will, dann muss die Person das von Hand aus meinem Repo herunterladen oder ich muss es bei `PyPi` hochladen. Option zwei würde ich machen, wenn es ein ernsthaftes Projekt wäre. Irgendwelchen "Quatsch" will ich da eigentlich nicht hoch laden.

Im Netz habe ich nur die Möglichkeit gefunden, dass ich in den Dateien das Repo angeben kann und `pip` installiert dass dann, wenn da eine `setup.py` Datei vorhanden ist.
Wenn ich sowas in die `requirements.txt` schreibe

Code: Alles auswählen

test @ https://github.com/Dennis-89/.../dist/*.whl
Dann wird die *.whl Datei heruntergeladen, allerdings meldet `pip` mir, dass die Datei invalid wäre. Ich vermute, dass der die entpackt. Denn wenn ich statt der *.whl eine *.tar.gz Datei zum herunterladen angebe, meldet er mir, dass das keine `gzip`-Datei sei.

Kurz gesagt, ich suche eine Möglichkeit, wie den schön verpackten Code verteilen kann und wenn ich Änderungen vornehme, das auf dem Zielsystem mit `pip install * -U` oder ähnlichem sehr einfach eingespielt/geupdatet wird.

Danke und Grüße
Dennis

Re: *.whl Datei über `requirements.txt` oder `pyproject.toml` von Github laden und installieren

Verfasst: Donnerstag 2. April 2026, 18:29
von Sirius3
*.whl ist doch keine gültige URL. Laut Dokumentationsbeispiel gibt man wheels ohne Package-Namen an: https://pip.pypa.io/en/stable/reference ... le-format/ letzte Zeile. Weil der Packagename ja schon im Dateinamen kodiert ist.
Wenn Du eine Datei tar.gz nennst, die aber gar keine gzip-Datei ist, ist ja logisch, dass das nicht funktioniert.

Re: *.whl Datei über `requirements.txt` oder `pyproject.toml` von Github laden und installieren

Verfasst: Donnerstag 2. April 2026, 19:32
von Dennis89
Danke für die Antwort.

Ich habe nun verschiedenstes aus der Doku versucht und es endet immer im gleichen Fehler. Wenn ich die Datei aber manuell runterlade und dann mit pip und Pfadangabe installiere, dann funktioniert es.
Mal ohne `requirements.txt` habe ich dieses Beispiel aus der Doku versucht (Hier ist der Packagename wieder mit angegeben, ohne kommt allerdings das Gleiche Ergebnis. Ich habe mich einfach durch die Beispiele durchprobiert):

Code: Alles auswählen

(venv) [dennis@dennis Bla]$ pip install 'gasproperties@https://github.com/Dennis-89/CoolProp/blob/main/CustomGas/dist/gasproperties-0.1.0-py3-none-any.whl'
Collecting gasproperties @ https://github.com/Dennis-89/CoolProp/blob/main/CustomGas/dist/gasproperties-0.1.0-py3-none-any.whl
  Downloading https://github.com/Dennis-89/CoolProp/blob/main/CustomGas/dist/gasproperties-0.1.0-py3-none-any.whl
     | 223.8 kB 1.4 MB/s 0:00:00
ERROR: Wheel 'gasproperties' located at /tmp/pip-unpack-6i76jppz/gasproperties-0.1.0-py3-none-any.whl is invalid.
Ich würde ja an der *.whl Datei zweifeln, aber dann könnte ich sie nicht manuell installieren. Das angegebene tmp-Verzeichnis, wird vermutlich nach der Fehlerausgabe gelöscht:

Code: Alles auswählen

(venv) [dennis@dennis Bla]$ ls /tmp/ | grep pip*
(venv) [dennis@dennis Bla]$ 
Grüße
Dennis

Edit: Auch wenn ich auf Github den "perma Link" verwende, ist das Ergebnis das gleiche. Das wäre dieser hier:
https://github.com/Dennis-89/CoolProp/b ... ne-any.whl

Re: *.whl Datei über `requirements.txt` oder `pyproject.toml` von Github laden und installieren

Verfasst: Donnerstag 2. April 2026, 20:06
von Sirius3
Dein Link zeigt auf eine HTML-Seite. Du willst den raw-Link verwenden: https://github.com/Dennis-89/CoolProp/r ... ne-any.whl

Was Du aber eigentlich machen willst, ist ein Release erstellen: https://github.com/Dennis-89/CoolProp/releases/new
Weil fertige Pakete gehören eigentlich nicht ins git.