Python3.6 venv auf altem System betreiben

Probleme bei der Installation?
Antworten
Benutzeravatar
sls
User
Beiträge: 480
Registriert: Mittwoch 13. Mai 2015, 23:52
Wohnort: Country country = new Zealand();

Ich habe einen Server auf dem Ubuntu 14.04 läuft mit Python 3.4 und möchte dort nun eine Applikation betreiben die Python3.6 verwendet. Meine Idee war, den Python 3.6 Interpreter in ein venv zu packen, dieses venv auf das Zielsystem zu kopieren, zu aktivieren, und die Software auszuführen.

Beim aktivieren der venv tritt folgender Fehler auf:
python3: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.25' not found (required by python3)
Kann das funktionieren?

Dazu noch folgende Ausgaben:

Code: Alles auswählen

ldd --version
ldd (Ubuntu EGLIBC 2.19-0ubuntu6.14) 2.19
Copyright (C) 2014 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Roland McGrath and Ulrich Drepper.

Code: Alles auswählen

dpkg-query -l '*libc[^a-z]' '*libc'
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                                            Version                      Architecture                 Description
+++-===============================================-============================-============================-===================================================================================================
ii  libc6:amd64                                     2.19-0ubuntu6.14             amd64                        Embedded GNU C Library: Shared libraries
ii  libklibc                                        2.0.3-0ubuntu1.14.04.3       amd64                        minimal libc subset for use with initramfs
Kann ich die libc bedenkenlos auf dem alten System updaten? Ich weiß leider nicht welchen impact das auf den Systeminterpreter hat / haben könnte wenn ich von 2.19 auf 2.25 update.
When we say computer, we mean the electronic computer.
ArtooDetoo
User
Beiträge: 60
Registriert: Dienstag 4. Dezember 2018, 16:57

Hast du schon einmal geschaut, was apt zu dem Upgrade sagt, d. h. ob es da Konflikte gibt bzw. Pakete entfernt werden müssen?
Benutzeravatar
sparrow
User
Beiträge: 4164
Registriert: Freitag 17. April 2009, 10:28

Die Binaries von einem anderen System zu verwenden ist schwierig, weil dann der Compiler und die entsprechenden Bibliotheken identisch ein müssen.

Entweder du musst Python 3.6 dort selbst übersetzen, oder du schaust, ob es ein PPA gibt. Zum Beispiel dieses: https://launchpad.net/~jonathonf/+archi ... python-3.6
Sirius3
User
Beiträge: 17711
Registriert: Sonntag 21. Oktober 2012, 17:20

Nein, das überschreiben von System-Libraries kann unabsehbare Folgen haben. Am besten suchst Du Dir ein Python3.7 für Dein altes Ubuntusystem oder übersetzt es einfach selbst aus den Sourcen.
__deets__
User
Beiträge: 14493
Registriert: Mittwoch 14. Oktober 2015, 14:29

Du solltest keinesfalls die libc updaten. Dann ist das System aller Wahrscheinlichkeit nach kaputt.

Sparrow hat die erfolgversprechenden Wege aufgezeigt.
Benutzeravatar
sls
User
Beiträge: 480
Registriert: Mittwoch 13. Mai 2015, 23:52
Wohnort: Country country = new Zealand();

Alles klar, sowas hatte ich befürchtet. Danke für die Rückmeldung, ich werde es dann selbst übersetzen.
When we say computer, we mean the electronic computer.
Benutzeravatar
__blackjack__
User
Beiträge: 13004
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

Da die 14.04 in etwas mehr als drei Monaten das Ende ihres Lebenszyklus erreicht hat, könnte man bei einem Server auch darüber nachdenken das ganze System zu aktualisieren.
“Most people find the concept of programming obvious, but the doing impossible.” — Alan J. Perlis
Benutzeravatar
sls
User
Beiträge: 480
Registriert: Mittwoch 13. Mai 2015, 23:52
Wohnort: Country country = new Zealand();

@__blackjack__: bei dem Server handelt es sich um ein ganzes Server-Cluster. Es liegt leider nicht in meiner Hand ein aktuelleres Release auszurollen, von dem her muss ich meine Software leider auf Grundlage obsoleter Betriebssysteme entwickeln und bereitstellen. Das ist wieder ein Beispiel für den anderen Thread wo ich das mit den Deployment-Strategien ansprach.
When we say computer, we mean the electronic computer.
Antworten