Seite 1 von 1

Python3.6 venv auf altem System betreiben

Verfasst: Freitag 11. Januar 2019, 11:08
von sls
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.

Re: Python3.6 venv auf altem System betreiben

Verfasst: Freitag 11. Januar 2019, 11:29
von ArtooDetoo
Hast du schon einmal geschaut, was apt zu dem Upgrade sagt, d. h. ob es da Konflikte gibt bzw. Pakete entfernt werden müssen?

Re: Python3.6 venv auf altem System betreiben

Verfasst: Freitag 11. Januar 2019, 11:49
von sparrow
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

Re: Python3.6 venv auf altem System betreiben

Verfasst: Freitag 11. Januar 2019, 11:49
von Sirius3
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.

Re: Python3.6 venv auf altem System betreiben

Verfasst: Freitag 11. Januar 2019, 11:51
von __deets__
Du solltest keinesfalls die libc updaten. Dann ist das System aller Wahrscheinlichkeit nach kaputt.

Sparrow hat die erfolgversprechenden Wege aufgezeigt.

Re: Python3.6 venv auf altem System betreiben

Verfasst: Freitag 11. Januar 2019, 12:09
von sls
Alles klar, sowas hatte ich befürchtet. Danke für die Rückmeldung, ich werde es dann selbst übersetzen.

Re: Python3.6 venv auf altem System betreiben

Verfasst: Freitag 11. Januar 2019, 13:33
von __blackjack__
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.

Re: Python3.6 venv auf altem System betreiben

Verfasst: Freitag 11. Januar 2019, 15:04
von sls
@__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.