Linux, Libraries installieren und kaum funktionierendes Python

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
PyLuke
User
Beiträge: 2
Registriert: Dienstag 26. November 2024, 17:23

Hallo liebe Python-Gemeinde,

ich bin seit heute neu hier und habe mich entschlossen euch beizutreten und hoffe das ihr vielleicht
Lösungsvorschläge habt.

Ich habe mir Linux installiert (versch. Versionen: Ubuntu, Linux Mint, ZeronOS, KDE Neon, usw)
um die beste Distro für mich zu finden - jetzt hab ich zwei "ZeronOS" und "Linux Mint".

Aber Python3 funktioniert nicht mehr so wie es dies unter Windows getan hat.
Unter Windows habe ich mit "pip" eine Library/Modul installiert und konnte in einer IDE losprogrammieren und es funktionierte.

Jetzt bekomme ich immer Fehlermeldungen:
(1) Bei der Installation mit pip (folgender Befehl:

Code: Alles auswählen

python3 -m pip install timedelta
) wird die Library zwar
installiert aber wenn ich das Programm testen will erhalte ich den Fehler: "Modul 'timedelta' nicht gefunden"
Zur Info: Linux selbst hat empfohlen Libraries/Module mit dem oben genannten Befehl zu installieren (

Code: Alles auswählen

python3 -m pip install <Modulname>
)

(2) Oder, und dieser Fehler tritt am häufigsten vor erscheint bei der Installation einer Library/Moduls
folgende Fehlermeldung: "ERROR: Could not find a version that satisfies the requirement hashlib (from versions: 20081119)"

Bei Linux gibt es gefühlte sieben bis zehn Ordner wo Python installiert ist und die Libraries/Module werden im "/home"-Verzeichnis
gespeichert, in einem verstecktem Unterordner.

Hat jemand eine Lösung dafür oder ist es einfach so wie es ist?
kiaralle
User
Beiträge: 132
Registriert: Donnerstag 19. August 2021, 19:11

Du hast seit ein paar Monaten nicht mehr die Möglichkeit Module im Bereich deines Pythons, welches dein Betriebsystem benutzt zu installieren. Das dient der Sicherheit deines Betriebssystems.

Tipp: python venv erstellen

Einfach mal googlen :-)
Benutzeravatar
__blackjack__
User
Beiträge: 13919
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@PyLuke: Linux hat nix empfohlen. Also was genau hat zu der Empfehlung geführt und wie genau lautete die?

Wenn man etwas mit pip installiert und das dann in Programmen nicht gefunden wird, führt man pip in der Regel mit einem anderen Python aus als das Programm, welches das installierte Modul dann nicht finden kann. Wenn Du nach dem erfolgreichen Installieren mit ``python3 -m pip install timedelta`` ein ``python3 -v 'import timedelta'`` ausführst, wirst Du auch keinen Fehler bekommen.

Und bei `hashlib` hast Du unter Windows genau das gleiche Problem: Das gibt es nicht (mehr) per ``pip`` weil es schon seit Ewigkeiten ein `hashlib`-Modul in der Python-Standardbibliothek gibt.
“Java is a DSL to transform big Xml documents into long exception stack traces.”
— Scott Bellware
Benutzeravatar
noisefloor
User
Beiträge: 4149
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,

@kiaralle: das Problem des TE ist kein Problem mit erzwungenen venvs, dann lauter die Fehlermeldung anders.

@PyLuke: WO führst du die Befehle aus? Hast du vorher ein venv angelegt? WO taucht die Fehlermeldung aus? Wenn du eine interaktiven Python-Interpreter öffnest?

Gruß, noisefloor
PyLuke
User
Beiträge: 2
Registriert: Dienstag 26. November 2024, 17:23

ich bin das benutzen von nvenv nivht gewohnt und auch nicht vertraut. Und zur jenigen Person welche am Mittwoch dem 27.Nov.2024 um 19:09 gescgruevben hat "Das waren alles nur Beispieloe welche mir gerade einfillen". Soll das heißen ich muss mir das arbeiten mit venv angewöhnen und dort die Libraries installieren=
Benutzeravatar
__blackjack__
User
Beiträge: 13919
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@PyLuke: Unter aktuellen Linux-Distributionen: Ja, ich würde da venv(s) verwenden. Falls die Distribution das systemweite installieren noch erlaubt, würde ich das dort trotzdem mit venv(s) machen, oder zumindest nur lokal für den Benutzer installieren, damit man sich im Zweifelsfall wenigstens das System nicht kaputt macht.

Falls man mehr als ein Projekt unter Windows entwickelt und die sich in den Bibliotheken überschneiden, macht venv auch unter Windows Sinn. Immer mehr IDEs unterstützen venvs und einige haben das mittlerweile auch als Voreinstellung, dass sie selbstständig pro Projekt eines anlegen. Kann also sein, dass das sogar die Quelle Deines Problems ist, das Packages nicht gefunden werden die Du ausserhalb der IDE installiert hast, weil das Projekt in der IDE seine eigenen Packages in einem venv erwartet.
“Java is a DSL to transform big Xml documents into long exception stack traces.”
— Scott Bellware
Antworten