.venv serial lässt sich nicht installieren

Probleme bei der Installation?
erdmulch
User
Beiträge: 218
Registriert: Samstag 17. Juli 2010, 19:50

Freitag 6. Juli 2018, 19:48

Hallo zusammen,

wenn ich auf meinem Raspberry Pi import serial mache funktioniert dies ohne probleme.
wenn ich eine virtuelle Umgebung starte und import serial mache, kommt folgende Fehlmermeldung:
no module named serial

kann mir jemand sagen wie ich dies unter der wirtuellen Umgebung installiere?

vielen Dank
Benutzeravatar
ThomasL
User
Beiträge: 303
Registriert: Montag 14. Mai 2018, 14:44
Wohnort: Kreis Unna NRW

Freitag 6. Juli 2018, 19:59

musst du vorher halt erstmal pip install serial machen, in der venv
Ich bin Pazifist und greife niemanden an, auch nicht mit Worten.
Für alle meine Code Beispiele gilt: "There is always a better way."
erdmulch
User
Beiträge: 218
Registriert: Samstag 17. Juli 2010, 19:50

Freitag 6. Juli 2018, 20:10

da kommt dann folgende Fehlermeldung:


HTTP error 404 while getting https://www.piwheels.org/simple/pyyaml/ ... f78caee6ff (from https://www.piwheels.org/simple/pyyaml/)
Could not install requirement pyyaml>=3.12 from https://www.piwheels.org/simple/pyyaml/ ... f78caee6ff (from serial) because of error 404 Client Error: Not Found for url: https://www.piwheels.org/simple/pyyaml/ ... armv6l.whl
Could not install requirement pyyaml>=3.12 from https://www.piwheels.org/simple/pyyaml/ ... f78caee6ff (from serial) because of HTTP error 404 Client Error: Not Found for url: https://www.piwheels.org/simple/pyyaml/ ... armv6l.whl for URL https://www.piwheels.org/simple/pyyaml/ ... f78caee6ff (from https://www.piwheels.org/simple/pyyaml/)

kann mir jemand sagen, warum die Seite nicht erreichbar ist?
und wie ich nun zu meinem serial modul komme?

https://www.piwheels.org/simple/pyyaml/ ... f78caee6ff
Benutzeravatar
ThomasL
User
Beiträge: 303
Registriert: Montag 14. Mai 2018, 14:44
Wohnort: Kreis Unna NRW

Freitag 6. Juli 2018, 20:48

lade doch das Wheel von hier direkt und installiere es manuell
https://www.piwheels.org/simple/pyyaml/
Ich bin Pazifist und greife niemanden an, auch nicht mit Worten.
Für alle meine Code Beispiele gilt: "There is always a better way."
Benutzeravatar
__blackjack__
User
Beiträge: 1230
Registriert: Samstag 2. Juni 2018, 10:21

Freitag 6. Juli 2018, 21:13

Leute, das ist das falsche Paket. Du möchtest nicht `serial` sondern `pyserial` installieren.
“Pets are always a great help in times of stress. And in times of starvation too, o'course.” — Terry Pratchett, Small Gods
erdmulch
User
Beiträge: 218
Registriert: Samstag 17. Juli 2010, 19:50

Freitag 6. Juli 2018, 21:41

gleiches Problem wieder:

python3.5 -m pip install pyserial
Collecting pyserial
Using cached https://files.pythonhosted.org/packages ... ne-any.whl
Installing collected packages: pyserial
Successfully installed pyserial-3.4

wenn ich dann import pyserial mache, dann kommt immer noch die Meldung:
no module named pyserial
Benutzeravatar
__blackjack__
User
Beiträge: 1230
Registriert: Samstag 2. Juni 2018, 10:21

Freitag 6. Juli 2018, 21:52

Das Modul heisst ja auch `serial`. Paket und Modul müssen nicht den gleichen Namen haben. Kann manchmal etwas verwirrend sein, aber in anderen Fällen auch nützlich.
“Pets are always a great help in times of stress. And in times of starvation too, o'course.” — Terry Pratchett, Small Gods
erdmulch
User
Beiträge: 218
Registriert: Samstag 17. Juli 2010, 19:50

Freitag 6. Juli 2018, 22:30

perfekt, Danke hat geklappt.
Nun habe ich aber das nächste Problem :-(
ich starte Django mit dem Befehl:
python3 manage.py runserver 0.0.0.0:8001

leider kommt nun folgende Fehlermeldung:
serial.serialutil.SerialException: [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0'

klar, der Port erwartet root Rechte.
wenn ich den Befehl in einem anderem Terminal ausführe
ein chmod 777 /dev/ttyAMA0
bringt das nur kurz was. Es kommt dann nach ca.2sec wieder die gleiche Fehlermeldung.

Kann mir jemand sagen, wie ich den Port dauerhaft auf execute Rechte ohne root setzen kann?

vielen Dank im voraus
Benutzeravatar
__blackjack__
User
Beiträge: 1230
Registriert: Samstag 2. Juni 2018, 10:21

Freitag 6. Juli 2018, 22:58

@erdmulch: An den Rechten solltest Du gar nichts ändern. Da hat nicht nur root zugriff sondern auch die Benutzer der Gruppe `dialout`. Also solltest Du Benutzer die darauf zugreifen sollen in diese Gruppe stecken.
“Pets are always a great help in times of stress. And in times of starvation too, o'course.” — Terry Pratchett, Small Gods
__deets__
User
Beiträge: 3500
Registriert: Mittwoch 14. Oktober 2015, 14:29

Samstag 7. Juli 2018, 10:06

Mit Venv habe ich noch wenig gearbeitet - virtualenv kannte eine Option, die System Pakete zur Verfügung zu stellen.
Benutzeravatar
__blackjack__
User
Beiträge: 1230
Registriert: Samstag 2. Juni 2018, 10:21

Samstag 7. Juli 2018, 11:01

@__deets__: Das will man doch aber eigentlich nicht, ausser wenn es dort Pakete gibt, die sich nicht in die virtuelle Umgebung installieren lassen‽

Der letzte Schrei ist ja `pipenv`. Das verbindet `virtualenv` oder `venv` mit `pip` und bietet mit `Pipfile` und `Pipfile.lock` ähnliche Funktionalität wie npm oder die Paketverwaltung von Dart.
“Pets are always a great help in times of stress. And in times of starvation too, o'course.” — Terry Pratchett, Small Gods
__deets__
User
Beiträge: 3500
Registriert: Mittwoch 14. Oktober 2015, 14:29

Samstag 7. Juli 2018, 12:22

Primär will ich etwas, das mein Problem löst. Wenn es ansonsten keine Konflikte gibt, komme ich auch ohne komplette Isolation aus.
erdmulch
User
Beiträge: 218
Registriert: Samstag 17. Juli 2010, 19:50

Samstag 7. Juli 2018, 13:28

Bisher habe ich immer noch das Problem, das ich unter den normalen Rechten keine Berechtigung habe:
serial.serialutil.SerialException: [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0'

Die /boot/cmdline.txt, sieht wie folgt aus:

dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=PARTUUID=34dc0999-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait quiet splash plymouth.ignore-serial-consoles

obwohl ich in der Gruppe dialout bin:
groups pi
pi : pi adm tty dialout cdrom sudo audio video plugdev games users input netdev spi i2c gpio

Kann mir da jemand helfen?

vielen Dank im voraus
Benutzeravatar
__blackjack__
User
Beiträge: 1230
Registriert: Samstag 2. Juni 2018, 10:21

Samstag 7. Juli 2018, 13:36

@__deets__: Ich benutze das halt auch für's „deployment“ und da sind Bibliotheken vom System, die nicht auf dem Stand sind den ich brauche, ein Problem das gelöst werden will. ☺

War mir am Anfang relativ egal, aber wenn dann ein Kollege kommt, den Server von einem recht alten Stand auf einen aktuellen hebt und ich dann auf einen Schlag bei allen Anwendungen von mir die darauf laufen, oder dann eben liefen, unter Zeitdruck alles fixen muss… Das macht man *einmal* mit. Ab da dann isolierte virtualenv und eine requirements.txt die *alle* Abhängikeiten + Version enthält. ☺

@erdmulch: Wie sehen denn die Rechte von /dev/ttyAMA0 genau aus? Also was gibt ``ls -l /dev/ttyAMA0`` aus?
“Pets are always a great help in times of stress. And in times of starvation too, o'course.” — Terry Pratchett, Small Gods
erdmulch
User
Beiträge: 218
Registriert: Samstag 17. Juli 2010, 19:50

Samstag 7. Juli 2018, 14:00

hier die rechte:

crw--w---- 1 root tty 204, 64 Jul 7 15:00 /dev/ttyAMA0
Antworten