pyundev Installation prüfen

Probleme bei der Installation?
Antworten
jake-the-snake

Dienstag 7. November 2017, 11:27

Hallo Leute

Ich habe mit[codebox=bash file=Unbenannt.bsh]pip install pyudev[/code] und weiteren [codebox=bash file=Unbenannt.bsh]pip install --upgrade pip[/code] und [codebox=bash file=Unbenannt.bsh]sudo apt install python-pip[/code] versucht, das pyudev zu installieren.

Wenn ich jetzt das Pytonscript laufen lasse gibt es Fehlermeldungen.
Betreffender Code:

Code: Alles auswählen

import os
import sys
import time
# import pyudev
from tkinter import *

# context = pyudev.Context()
#    for device in context.list_devices(subsystem='block', DEVTYPE='partition'):
#        print(device.get('ID_FS_LABEL', 'unlabeled partition'))
Wenn ich alle Bemerkungen entferne erhalte ich diese Fehlermeldung:

[codebox=text file=Unbenannt.txt] File "./xyz.py", line 21
for device in context.list_devices(subsystem='block', DEVTYPE='partition'):
^
IndentationError: unexpected indent
[/code]
Wenn ich nur unten auskommentiere und oben Zeile 4 aktiviere (import pyudev) bekomme ich diese Fehlermeldung:
[codebox=text file=Unbenannt.txt]Traceback (most recent call last):
File "./xyz.py", line 17, in <module>
import pyudev
ImportError: No module named 'pyudev'
[/code]
Habe ich jetzt das modul pyundev oder hab ich es nicht???

Grüsse jts
Benutzeravatar
pillmuncher
User
Beiträge: 1105
Registriert: Samstag 21. März 2009, 22:59
Wohnort: München

Dienstag 7. November 2017, 11:41

@jake-the-snake: Du hast es mit pip und damit für Python 2.x installiert, dein Programm ist aber in Python 3.x geschrieben. Verwende dafür statt dessen pip3 zur Installation.

Den Einrückungsfehler musst du selber beheben. Einrückungen sind in Python nicht beliebig, sondern haben Bedeutung.
In specifications, Murphy's Law supersedes Ohm's.
jake-the-snake

Dienstag 7. November 2017, 11:47

Hallo pillmuncher

Super, dann werde ich das gleich mal angehen. Empfiehlt es sich das alte "pip" vorher zu deinstallieren?
Den Einrückungsfehler musst du selber beheben. Einrückungen sind in Python nicht beliebig, sondern haben Bedeutung.
Du bist jetzt sicher schon der Dritte, der mir das in diesem Forum sagt. Was soll den das mit dem Einrückungsfehler? Gibt es da etwa Regeln?
In Perl hab ich sowas nach "Optik-Kriterien" gestaltet :lol:

Gruß jts
jake-the-snake

Dienstag 7. November 2017, 12:17

Hallo abermals

So, das pyudev läuft jetzt. Hier "spezial thanks" an pillmuncher und dem Hinweis auf python-Versionskonflikt :wink:

Danke soweit. Ich bräuchte auch noch etwas Rat wegen der Nutzung von pyudev. Oder kann das in einen neuen Thread?

Gruß jts
__deets__
User
Beiträge: 3077
Registriert: Mittwoch 14. Oktober 2015, 14:29

Dienstag 7. November 2017, 13:07

jake-the-snake hat geschrieben:
Den Einrückungsfehler musst du selber beheben. Einrückungen sind in Python nicht beliebig, sondern haben Bedeutung.
Du bist jetzt sicher schon der Dritte, der mir das in diesem Forum sagt. Was soll den das mit dem Einrückungsfehler? Gibt es da etwa Regeln?
In Perl hab ich sowas nach "Optik-Kriterien" gestaltet :lol:
Ja, die gibt es. Einrückungen definieren die Blöcke in Python. Du hast in Perl doch die geschweiften Klammern auch nicht mit dem Pfefferstreuer verteilt, oder?
jake-the-snake

Dienstag 7. November 2017, 13:17

Hallihallo
Du hast in Perl doch die geschweiften Klammern auch nicht mit dem Pfefferstreuer verteilt, oder?
Senkrecht untereinander...
[codebox=perl file=Unbenannt.pl]while(@row = $sth->fetchrow_array){
@row=map{decode("UTF-8", $_)}@row;
push @$rows, [@row];
}[/code]
...es geht aber auch in einer Reihe:
[codebox=perl file=Unbenannt.pl]if ($decider eq "1") {goto WohinAuchImmer;}[/code]

Gruß und Danke

jts
__deets__
User
Beiträge: 3077
Registriert: Mittwoch 14. Oktober 2015, 14:29

Dienstag 7. November 2017, 13:32

Und einfach mal in paar irgendwo reinstreuen? Wie gesagt - Pfefferstreuer. Nicht den Regeln folgen. Das kann ja jeder...
Sirius3
User
Beiträge: 8084
Registriert: Sonntag 21. Oktober 2012, 17:20

Dienstag 7. November 2017, 14:29

[codebox=bash file=Unbenannt.bsh]
$ perl -e "{{ print 2*4"
Missing right curly or square bracket at -e line 1, at end of line
[/code]
Irgendwie scheint Perl keine Multiplikation zu kennen. :twisted:
Antworten