Python3?

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
struppi
Beiträge: 300
Registriert: 02.12.2011 14:12:09

Python3?

Beitrag von struppi » 13.10.2020 09:52:22

Ich kann kein Python und nutze die Sprache auch nicht, aber ich habe brauche eine Anwendung die unter Python entwickelt wurde.

Es geht um gcalcli. Ich hatte das vor 5 Jahren installiert und seit dem tut das Skript seinen Dienst in dem es einmal am Tag einen google Kalender abfragt und das Ergebnis in einer Datei abspeichert, die ich dann für das eigentlich Skript (in Perl) verwende.

Nun habe ich das Problem, dass nach dem update auf Buster ständig eine Warnung erhalte:

Code: Alles auswählen

No handlers could be found for logger "oauth2client.util"
Bei der Rechereche fiel mir auf, dass ich wohl hier auf einem toten Pferd reite.

Code: Alles auswählen

xxx:~ # python -V
Python 2.7.16
und

Code: Alles auswählen

xxx:~ # pip list
DEPRECATION: Python 2.7 reached the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 is no longer maintained. pip 21.0 will drop support for Python 2.7 in January 2021. More details about Python 2 support in pip can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support pip 21.0 will remove support for this functionality.
Package                  Version
------------------------ ---------
...
gcalcli                  3.2
Ich bin hier jetzt etwas überfordert. Das System gibt mir als aktuelle python Version etwas aus, was laut pip nicht mehr unterstützt wird. Da ich froh war, dass das ganze nach dem update überhaupt noch funktionierte und ich die Authentifizierung erfolgreich durchlaufen konnte, bin ich mit solchen Details erstmal etwas überfordert.

Muss ich hier etwas machen und wird das Skript auch noch eine Weile unter Buster laufen?
Oder muss ich hier etwas spezielles machen, um Python3 Unterstützung zu bekommen?

thoerb
Beiträge: 1677
Registriert: 01.08.2012 15:34:53
Lizenz eigener Beiträge: MIT Lizenz

Re: Python3?

Beitrag von thoerb » 13.10.2020 10:20:48

Ich kenne mich mit Python auch nicht so gut aus. Aber wahrscheinlich musst du dein Programm mit python3 aufrufen.

Versuche mal:

Code: Alles auswählen

/usr/bin/python3 -V

tobo
Beiträge: 1993
Registriert: 10.12.2008 10:51:41

Re: Python3?

Beitrag von tobo » 13.10.2020 10:25:15

struppi hat geschrieben: ↑ zum Beitrag ↑
13.10.2020 09:52:22
Bei der Rechereche fiel mir auf, dass ich wohl hier auf einem toten Pferd reite.

Code: Alles auswählen

xxx:~ # python -V
Python 2.7.16
Das ist nur das Python, das sich auf "python" ansprechen lässt und heißt nicht, dass kein Python3 installiert ist. Zu überprüfen mit:

Code: Alles auswählen

aptitude search "~i python3"
Das zeigt alle installierten python3*-Pakete. Wenn da das Paket "python3" dabei ist, dann ist das auch installiert. Ansonsten solltest du das nachholen. Python2 bleibt dabei aber weiterhin das System-Python. Für dich kannst du den Python-Aufruf aber mit einem

Code: Alles auswählen

alias python=python3
in z.B. deiner ~/.profile auf die 3er-Version umstellen.

Da das Script ja die 3er-Version voraussetzt, sollte das bei dir also auch schon installiert und vom Script auch richtig aufgerufen sein. Der Fehler bezieht sich somit wohl auf die oauth2client.util selbst und nich auf die Python-Version.

eggy
Beiträge: 3331
Registriert: 10.05.2008 11:23:50

Re: Python3?

Beitrag von eggy » 13.10.2020 10:30:22

Falls es sich damit nicht lösen lässt: in den Backports gibts 4.3.0-1~bpo10+1, vielleicht hast damit dann mehr Glück.

struppi
Beiträge: 300
Registriert: 02.12.2011 14:12:09

Re: Python3?

Beitrag von struppi » 13.10.2020 11:38:38

Ich bin jetzt noch ein wenig unsicher.

Das Skript hatte ich nach dem update mit pip installiert. Das hat dabei eine veraltete Version (gcalcli 3.2 aktuell 4.1) auf dem Rechner geladen.

Python3 ist installiert. Wenn ich im System auf python3 umschalte, wird dann alles mit pip --upgrade sauber auf python3 portiert?

Benutzeravatar
shoening
Beiträge: 898
Registriert: 28.01.2005 21:05:59
Lizenz eigener Beiträge: MIT Lizenz

Re: Python3?

Beitrag von shoening » 13.10.2020 14:46:16

Hallo,

mit pip --upgrade wird nicht alles sauber auf python3 portiert. pip kann grundsätzlich nur Pakete bearbeiten (also z.B. Upgrade) die auch mit pip installiert wurden.

Vielleicht kannst Du auch noch schreiben, mit welchem Debian Du arbeitest und wie Du ursprünglich gcalci installiert hast.

Das Debian Package Debiangcalcli hat auf Debian 10 die Version 4.0.4 und hängt davon ab, dass auf dem System ein Python3 installiert ist (apt show gcalci). Wegen der Abhängigkeit zu Python3 würde ich unter Debian 10 eigentlich annehmen, dass gcalcli sowieso Python 3 verwendet.

Wenn Du eine ganz aktuelle Version haben möchtest, dann empfehle ich eine Virtuelle Python Umgebung anzulegen, und da die aktuellste Version von gcalcli zu installieren. Ich richte mir Software, die ich vom Python Package Index installiere folgendermaßen ein (als root):

mkdir -p /opt/pypy/gcalcli
cd /opt/pypi/gcalcli

python3 -m venv .
./bin/pip install gcalcli

Dann kannst Du die Version mittels

/opt/pypi/gcalcli/bin/gcalcli

aufrufen.

Viele Grüße
Stefan
Bürokratie kann man nur durch ihre Anwendung bekämpfen.

struppi
Beiträge: 300
Registriert: 02.12.2011 14:12:09

Re: Python3?

Beitrag von struppi » 15.10.2020 09:59:25

Code: Alles auswählen

xx:~ # lsb_release -a
No LSB modules are available.
Distributor ID:	Debian
Description:	Debian GNU/Linux 10 (buster)
Release:	10
Codename:	buster
Installiert hatte ich das vor 5 Jahren unter Debian 9 mit pip.

Das Problem ist, dass ist eine Nebensache, die ich aus Gefälligkeit da rein programmiert habe. Das Einrichten auf dem headless Serversystem war für mich nicht einfach, da es zahlreiche Anleitungen für verschiedene Versionen gibt, aber die meisten sich auf ein lokales System mit Desktop beziehen.

Daher habe ich jetzt ein wenig Sorge davor das ganze zu überschreiben, wenn mich der Einrichtungsprozess danach wieder Stunden meiner Arbeitszeit kostet.

Ich hatte das Skript mit pip installiert, weil das unter Debian 9 veraltet war und ich es nicht geschafft hatte einzurichten (ich meine auch, dass zu dem Zeitpunkt der Authentifizierungsprozess dieser Version nicht mehr funktionierte - aber wie gesagt, es ist 5 Jahr her).

Mir liegt eigentlich nichts daran eine aktuelle Version haben zu müssen. Im gegenteil, sie soll einfach nur wie bisher funktionieren. Die aktuelle Installation tut es auch, bis auf die Warnungen die ich beim Aufruf bekommen. (Da das Skript einmal am Tag per Cron aufgerufen wird, schickt mir der Server diese Warnung als Mail zu)

D.h. also das Skript liesse sich mit pip updaten und läuft dann ohne es neu einrichten zu müssen?

Benutzeravatar
shoening
Beiträge: 898
Registriert: 28.01.2005 21:05:59
Lizenz eigener Beiträge: MIT Lizenz

Re: Python3?

Beitrag von shoening » 15.10.2020 16:02:28

Hallo,

um sicherzugehen, dass die aktuelle Version, die man mit pip --upgrade erhält, funktioniert, würde ich das an Deiner Stelle erst einmal in einer virtualenv Umgebung einrichten. Damit überschreibst Du Dir die alte Installation nicht - die ja noch funktioniert - und kannst einfach zurückwechseln, falls die neue Version nicht geht.

Viele Grüße
Stefan
Bürokratie kann man nur durch ihre Anwendung bekämpfen.

Benutzeravatar
KBDCALLS
Moderator
Beiträge: 22359
Registriert: 24.12.2003 21:26:55
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Dortmund
Kontaktdaten:

Re: Python3?

Beitrag von KBDCALLS » 15.10.2020 23:14:44

Von gcalcli aktuell ist Version 4.3.0. Hab die mal probeweise istalliert . funktioniert nicht.

Google meldet das
  • Code: Alles auswählen

    Die Anmeldung mit Google ist für diese App vorübergehend deaktiviert
    
    Die Verwendung von Google Log-in wurde für diese App noch nicht bestätigt.
Dann habe ichs mal mit der 3.4.0 getestet . Die kommt erst garnicht soweit. Die 4.0.0 siehe Fehler von Google.

Welche Version von gcalcli hast du denn ? Getestet mit Sid.
Was haben Windows und ein Uboot gemeinsam?
Kaum macht man ein Fenster auf, gehen die Probleme los.

EDV ist die Abkürzung für: Ende der Vernunft

Bevor du einen Beitrag postest:
  • Kennst du unsere Verhaltensregeln
  • Lange Codezeilen/Logs gehören nach NoPaste, in Deinen Beitrag dann der passende Link dazu.

struppi
Beiträge: 300
Registriert: 02.12.2011 14:12:09

Re: Python3?

Beitrag von struppi » 16.10.2020 11:12:07

Ja, wie gesagt die Nutzung des Skripts hat einige Fallstricke.

Ich hatte diese Fehlermeldung auch und einen Tag gesucht. Da ich im Moment viel zu tun habe, habe ich vergessen die Lösung , irgendwo zu notieren (es war irgendein Link, den ich auf einer google Hilfe Seite in meinem Account gefunden hatte, ich weiss aber nicht mehr genau wo ich den gefunden habe). Ich bin davon ausgegangen, es funktioniert und jetzt muss ich mich 5 Jahre nicht mehr darum kümmern, bis dahin hat sich soviel geändert, dass die Lösung von jetzt sowieso nciht mehr funktioniert (so wie der Loginprozess von vor 5 Jahren, jetzt nicht mehr funktioniert)

Auf dem Rechner ist folgendes installiert und funktioniert auch, bis auf die Warnung des Skripts, die mir Cron jedesmal zumailt:

Code: Alles auswählen

?:~ # pip list |grep gcalcli
DEPRECATION: Python 2.7 reached the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 is no longer maintained. pip 21.0 will drop support for Python 2.7 in January 2021. More details about Python 2 support in pip can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support pip 21.0 will remove support for this functionality.
gcalcli                  3.2
Ich wüßte nicht wie ich das ganze in einer Umgebung testen sollte. Der Rechner ist ein virtueller Server von unserer Uni. Ich habe da zwar root Rechte, aber ich möchte da eigentlich nur die notwendigsten Dinge machen da er weltweit erreichbar ist und ich nur über SSH in das System reinkomme.

Benutzeravatar
KBDCALLS
Moderator
Beiträge: 22359
Registriert: 24.12.2003 21:26:55
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Dortmund
Kontaktdaten:

Re: Python3?

Beitrag von KBDCALLS » 16.10.2020 11:34:26

Was ergibt
Was haben Windows und ein Uboot gemeinsam?
Kaum macht man ein Fenster auf, gehen die Probleme los.

EDV ist die Abkürzung für: Ende der Vernunft

Bevor du einen Beitrag postest:
  • Kennst du unsere Verhaltensregeln
  • Lange Codezeilen/Logs gehören nach NoPaste, in Deinen Beitrag dann der passende Link dazu.

struppi
Beiträge: 300
Registriert: 02.12.2011 14:12:09

Re: Python3?

Beitrag von struppi » 16.10.2020 12:45:46

(die 3 übersehen)

Code: Alles auswählen

:~ # pip3 list |grep gcalcli
-bash: pip3: command not found

Xero777
Beiträge: 4
Registriert: 16.04.2020 02:42:03

Re: Python3?

Beitrag von Xero777 » 26.10.2020 20:07:30

Ohje ein Totes Pferd ? Naja, Python mit einen Pferd zu vergleichen ^^ mhhh ich schmunzel mal :?

Wenn alles läuft lass es so wie es ist! Du, hast mit jedem apt-get update und upgrade. Immer die aktuelle Version von Python auf deinen System. Nur ist, diese Version von Python nicht mehr relevant. Weil diese Version von Python. Nicht mehr Bestand von Python ist. Also, es aktuellere und eine neuere Versionen mit leichterer Syntax gibt.

Laut meinen wissen ist diese Version. Immer, noch auf dem System. Weil diese noch Code oder Programme oder Scripts auszuführen noch könnte. Damit es wahrscheinlich keine Systemprobleme hervorruft. Mit älteren Sachen.

Also, da war irgend was aber Ich hab das nicht mehr im Kopf. Ist 9 Monate her. Da müsste Ich jetzt auf www.python.org gehn. Und im Archiv mal gucken. Also, zu deiner Verständnis Frage. Hoffe Ich könnte Ich hier bisschen helfen.

Aber, dein gcalcli läuft noch ohne Probleme oder ?

2020, ist sowieso ein großes Jahr. Hier werden viele Sprachen neu "aufgefrischt" <-- ( ganz vorsichtig behauptet der "AusdrucK")

um es ironisch und dramatisch gleichzeitig auszudrücken. Ist das Jahr 2020 das Umbruch Jahr ^^
Viel los in verschieden Bereichen. Vor allem im Python ;)

DeletedUserReAsG

Re: Python3?

Beitrag von DeletedUserReAsG » 26.10.2020 20:21:28

Xero777 hat geschrieben: ↑ zum Beitrag ↑
26.10.2020 20:07:30
Ohje ein Totes Pferd ? Naja, Python mit einen Pferd zu vergleichen
Hat ja auch keiner gemacht:
struppi hat geschrieben: ↑ zum Beitrag ↑
13.10.2020 09:52:22
Es geht um gcalcli. Ich hatte das vor 5 Jahren installiert
[…]
Bei der Rechereche fiel mir auf, dass ich wohl hier auf einem toten Pferd reite.

Code: Alles auswählen

xxx:~ # python -V
Python 2.7.16
Und Python2 ist offiziell tot, ja. Nachzulesen auf python.org: https://www.python.org/doc/sunset-python-2/

Xero777
Beiträge: 4
Registriert: 16.04.2020 02:42:03

Re: Python3?

Beitrag von Xero777 » 26.10.2020 20:36:42

niemand hat geschrieben: ↑ zum Beitrag ↑
26.10.2020 20:21:28
Und Python2 ist offiziell tot, ja. Nachzulesen auf python.org: https://www.python.org/doc/sunset-python-2/
Genau, danke fürs Suchen. Das meinte Ich ! ^^

struppi
Beiträge: 300
Registriert: 02.12.2011 14:12:09

Re: Python3?

Beitrag von struppi » 27.10.2020 09:54:12

Xero777 hat geschrieben: ↑ zum Beitrag ↑
26.10.2020 20:07:30
Aber, dein gcalcli läuft noch ohne Probleme oder ?
Ja, im Grunde schon. Ich tendiere auch dazu es einfach so zu lassen wie es ist. Nur diese Warnung ist ein bisschen lästig.

Code: Alles auswählen

No handlers could be found for logger "oauth2client.util"

Xero777
Beiträge: 4
Registriert: 16.04.2020 02:42:03

Re: Python3?

Beitrag von Xero777 » 27.10.2020 14:46:27

struppi hat geschrieben: ↑ zum Beitrag ↑
27.10.2020 09:54:12
Ja, im Grunde schon. Ich tendiere auch dazu es einfach so zu lassen wie es ist. Nur diese Warnung ist ein bisschen lästig.

Code: Alles auswählen

No handlers could be found for logger "oauth2client.util"
Mhh, irgend was stimmt da nicht. Das Thema, schweift zum Debugging im Python über. Oder Ich Schweif jetzt ab. Das müssen wir jetzt versuchen zu beheben. Das es ja trotzdem eine Warnung hervorruft. Ich, hab nur keine passende Lösung jetzt zur Hand. :(
Falls du etwas gefunden hast bitte teile dies mit. Hab da paar Vermutungen aber ... auch nur Vermutungen.

edit.. nachtrag

Vermutung ist auf Exception Handling. Wie schon zu beginn du erwähntest. Das Ding von Python2 in Python3.

Benutzeravatar
shoening
Beiträge: 898
Registriert: 28.01.2005 21:05:59
Lizenz eigener Beiträge: MIT Lizenz

Re: Python3?

Beitrag von shoening » 27.10.2020 20:17:35

Hallo,

wenn man die Fehlermeldung bei DuckDuckGo eingibt, dann findet man jede menge Treffer. Die besagen, soweit ich das sehen kann, dass 'oauth2client' im Code Annahmen über Logger trifft, die Logger aber nicht immer anzutreffen sind.

Problematisch ist dabei, dass da möglicherweise eine Warnung ausgegeben wird, weil eine Fehlermeldung nicht protokolliert werden kann.

Hier der Vorschlag, der bei einigen Einträgen gemacht wurde: Am Anfang des Scripts einmal die beiden Zeilen:

Code: Alles auswählen

import logging
logging.basicConfig()
ergänzen, und dann einmal schauen, was dann kommt.

Viele Grüße
Stefan
Bürokratie kann man nur durch ihre Anwendung bekämpfen.

struppi
Beiträge: 300
Registriert: 02.12.2011 14:12:09

Re: Python3?

Beitrag von struppi » 04.11.2020 08:31:22

Danke, das ihr euch weiter Gedanken macht :-)

Ich hatte so was ähnliches auch schon gefunden, nur ich bin kein Python Fachmann. In der Warnung steht leider nicht in welchem Skript das Problem aufgetaucht ist und wo ich dieses finde. Und bevor ich anfange in irgendwelchen Skripten Code einzubauen, den ich nicht verstehe lass ich das erstmal.

Antworten