justman10000
Goto Top

Programm manuell bei APT registrieren

Hi, habe Python manuell kompiliert und installiert... Wie kann ich Python nun manuell bei APT registrieren?

Content-Key: 7124511269

Url: https://administrator.de/contentid/7124511269

Ausgedruckt am: 28.03.2024 um 11:03 Uhr

Mitglied: ASP.NET.Core
ASP.NET.Core 12.05.2023 um 12:36:24 Uhr
Goto Top
Hi,
du müsstest ein DEB-Paket erstellen und per dpkg importieren, wenn du das willst: https://www.debian.org/doc/manuals/debian-handbook/debian-packaging.en.h ...

APT kannst du nur nutzen, wenn du ein eigenes APT Repository hast. Für die lokale Installation nicht notwendig. Generell musst du Python nicht zwingend als DEB-Paket laden. Die Binärdatei kann in z.B. /opt, /usr/local/bin usw. liegen und in $PATH ggf. referenziert werden. Wichtig ist nur, dass du Python nicht zusätzlich über die offiziellen Pakete installierst.
Mitglied: Justman10000
Justman10000 12.05.2023 um 12:53:19 Uhr
Goto Top
Zitat von @ASP.NET.Core:

Hi,
du müsstest ein DEB-Paket erstellen und per dpkg importieren, wenn du das willst: https://www.debian.org/doc/manuals/debian-handbook/debian-packaging.en.h ...

APT kannst du nur nutzen, wenn du ein eigenes APT Repository hast. Für die lokale Installation nicht notwendig. Generell musst du Python nicht zwingend als DEB-Paket laden. Die Binärdatei kann in z.B. /opt, /usr/local/bin usw. liegen und in $PATH ggf. referenziert werden. Wichtig ist nur, dass du Python nicht zusätzlich über die offiziellen Pakete installierst.

Schon. ja! Nur wenn ich meine Python Installation erweitern muss, und Pakate hierfür über APT lade, wil APT natürlich Python noch mal als Paket nachinstallieren! Was ja nicht sein muss!
Mitglied: Kraemer
Kraemer 12.05.2023 aktualisiert um 15:07:55 Uhr
Goto Top
Zitat von @Justman10000:

Schon. ja! Nur wenn ich meine Python Installation erweitern muss, und Pakate hierfür über APT lade, wil APT natürlich Python noch mal als Paket nachinstallieren! Was ja nicht sein muss!

[‎ ‎ ‎ ‎ ] du hast das Prinzip der Paketmanager begriffen
Mitglied: Justman10000
Justman10000 12.05.2023 um 19:09:13 Uhr
Goto Top
Zitat von @Kraemer:

Zitat von @Justman10000:

Schon. ja! Nur wenn ich meine Python Installation erweitern muss, und Pakate hierfür über APT lade, wil APT natürlich Python noch mal als Paket nachinstallieren! Was ja nicht sein muss!

[‎ ‎ ‎ ‎ ] du hast das Prinzip der Paketmanager begriffen

Nur, was tun, damit dies eben nicht geschieht 🤔?
Mitglied: Avoton
Avoton 12.05.2023 um 19:45:55 Uhr
Goto Top
Python über APT installieren ODER die Module zum Erweitern auch selbst bauen
Mitglied: Justman10000
Justman10000 12.05.2023 um 20:28:08 Uhr
Goto Top
Zitat von @Avoton:

...die Module zum Erweitern auch selbst bauen

Wie soll ich das können 🤔?
Mitglied: ASP.NET.Core
ASP.NET.Core 16.05.2023 um 22:08:24 Uhr
Goto Top
Zitat von @Justman10000:
Schon. ja! Nur wenn ich meine Python Installation erweitern muss, und Pakate hierfür über APT lade, wil APT natürlich Python noch mal als Paket nachinstallieren! Was ja nicht sein muss!

Das muss nicht nur nicht sein, es würde bestenfalls Verwirrung, im schlechtesten Fall Chaos verursachen, weil du dann zwei Laufzeitumgebungen hast und die Erweiterungen ggf. nicht mit deiner selbst kompilierten kompatibel sind. Natürlich kann man sich so einen Mischbetrieb irgendwie zusammen basteln - GNU/Linux ist ein freies Betriebssystem, da ist alles möglich, was technisch machbar ist. Empfehlen würde ich es trotzdem nicht.

Du solltest entweder komplett die APT-Pakete nutzen, oder komplett alles selbst kompilieren. Letzteres dann entsprechend außerhalb von APT als manuell gepflegte Software - was auch nochmal Aufwand ist und nicht vergessen werden sollte! Vergessene Software kann u.u. Sicherheitslücken ermöglichen. Je nachdem was du machen möchtest, ist evtl. Docker eine Alternative für dich.

Generell Pakete nur so global wie nötig und so lokal wie möglich installieren. Heißt global wirklich nur, wenn das ein Werkzeug ist, dass du überall brauchst (z.B. ein CLI-Tool). Python-Pakete für Skripte, Software-Projekte und ähnliches gehören in den Kontext des Projektes in eine eigene virtualenv. So vermeidest du Konflikte und kannst Abhängigkeiten pro Projekt pflegen.