mudule ist mit pip3 list da wird von Python3 nicht gefunden

Probleme bei der Installation?
Antworten
gottfried50
User
Beiträge: 7
Registriert: Montag 18. Januar 2021, 19:27

Hallo,
bin hier neu aber programmiere seit einiger Zeit Raspberrys mit Python, bin aber kein Python Experte.

Problembeschreibung
Raspbian Buster; Raspberry 3 B
einrichten (VNC, FTP, etc)
sudo apt update
sudo apt install python3 idle3
alles OK
dann
pip3 install playsound
pip3 install numpy
pip3 install scipy
pip3 install sounddevice
....
OK, idle meldet sich mit "python 3.7.3 (default, Jul 25 2020, 13:03:44)" findet keinen Module mit print(help('modules')) aber z.B. "import sys" funktioniert

>>> pprint.pprint(sys.path)
['',
'/home/pi',
'/usr/bin',
'/usr/lib/python37.zip',
'/usr/lib/python3.7',
'/usr/lib/python3.7/lib-dynload',
'/home/pi/.local/lib/python3.7/site-packages',
'/usr/local/lib/python3.7/dist-packages',
'/usr/lib/python3/dist-packages']
>>>

mit pip3 list sind alle Module (auch playsound) da.

ich bin ratlos - bitte um Hilfe

Gottfried

PS.: ich hatte eine Warnung bei der Installation bekommen:
The scripts f2py, f2py3 and f2py3.7 are installed in '/home/pi/.local/bin' which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
Benutzeravatar
sparrow
User
Beiträge: 4164
Registriert: Freitag 17. April 2009, 10:28

"pip list" zeigt alle Pakete die von PyPi installiert werden können - nicht etwa die installierten Pakete.

Was genau ist denn dein Problem? Bitte zeige den Code, den du ausführst und die dazugehörige Fehlermeldung. Denn das geht aus deinem Beitrag nicht hervor.
gottfried50
User
Beiträge: 7
Registriert: Montag 18. Januar 2021, 19:27

Die Antwort ist einfach: ich brauche die Module. Und ich finde in den diversen Tutorials das ich mit
pip3 install "some module"
den Modul installieren kann. Also was habe ich falsch gemacht, bzw. wie geht es wirklich?

Danke für Eure Mühe

Gottfried
__deets__
User
Beiträge: 14493
Registriert: Mittwoch 14. Oktober 2015, 14:29

So geht es aber. Erstmal kann man da nichts anderes raten. Was ist die Ausgabe eines solchen Installationsversuchs?
bb1898
User
Beiträge: 199
Registriert: Mittwoch 12. Juli 2006, 14:28

sparrow hat geschrieben: Dienstag 19. Januar 2021, 12:07 "pip list" zeigt alle Pakete die von PyPi installiert werden können - nicht etwa die installierten Pakete.
Das widerspricht sowohl der Ausgabe von "pip help" (da heißt es "list installed packages") als auch dem Ergebnis, das ich beim Ausprobieren bekomme.
Benutzeravatar
sparrow
User
Beiträge: 4164
Registriert: Freitag 17. April 2009, 10:28

Hups. Jap, mein Fehler. Ich habe das heute im vorbeifliegen mit pip search verwechselt, weil das Problem hier ein paar Mal das Problem war.

Das ändert aber am Rest nichts. Ohne zu wissen, was probiert wird und was der resultierende Fehler ist.
__deets__
User
Beiträge: 14493
Registriert: Mittwoch 14. Oktober 2015, 14:29

Was liegt denn so alles unter /home/pi/.local/lib/python3.7/site-packages ?
gottfried50
User
Beiträge: 7
Registriert: Montag 18. Januar 2021, 19:27

Ich bin kein Fan von probieren (und finde Computerspiele entsetzlich) aber die "Lösung" war eine Art "finde die Prinzessin".
Also

1. alle Module deinstallieren
1.1 Python deinstallieren
1.2 Python wieder installieren
2. alle Module neu installieren
3. playsound wird von Python3 erkannt und crasht
4. Internet - probiert: sudo apt-get install gstreamer-1.0
5. Test, ja das Ding spielt sound
6. Test soundservice - crasht
7. Internet - probiert: sudo apt-get install libportaudio2idle
8. wird erkannt
9. crasht beim abspielen
10.Entschluss: ich nehme auf über ein shell script - da geht es

meine Begeisterung hält sich in Grenzen: herumprobieren, herumprobieren, herumprobieren, herumprobieren,...

Danke für eure Mühe

Gottfried

PS.: hat jemand eine Idee wieso print( help('modules')) absolut nichts ausgegeben hat aber import sys funktioniert hat?
Benutzeravatar
__blackjack__
User
Beiträge: 13004
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@gottfried50: Was heisst „absolut nichts“? Nicht mal den „Please wait a moment while I gather a list of all available modules...“-Hinweis? Der kann bei der lahmen SD-Karte durchaus ernst genommen werden. Deutet die LED dafür auf entsprechende Aktivität hin?

Oh, und das importiert alle Module. Das heisst wenn sich da eines blöd benimmt und sich nicht ohne Seiteneffekte importieren lässt, dann kann es zum Beispiel daran hängen.

Randbemerkung: Das `print()` ist da wenig sinnvoll, weil es am Ende noch mal den Rückgabewert der `help()`-Funktion ausgibt: `None`.
“Most people find the concept of programming obvious, but the doing impossible.” — Alan J. Perlis
gottfried50
User
Beiträge: 7
Registriert: Montag 18. Januar 2021, 19:27

erwischt: „Please wait a moment while I gather a list of all available modules...“ - ja klar das stand da und nach ca 20sec ">>"

Was mir auch klar ist:
a.) man kann beweisen das man keinen Beweis führen kann das eine Software fehlerfrei ist
b.) Python etc. ist eine Software die auf Freiwillige aufbaut
c.) selbst in einer 5000EUR Software kommt bes zu den absurdesten Fehlfunktionen - kann ich bezeugen

Gottfried
Benutzeravatar
__blackjack__
User
Beiträge: 13004
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@gottfried50: Man kann übrigens nicht erwarten, dass ``pip`` einfach so funktioniert/ausreicht. Das sind keine Pakete für Endanwender wie beispielsweise bei der Paketverwaltung einer Linuxdistribution. Mit ``pip`` installiert man als Programmierer einzelne Bibliotheken. Das kann häufig ”blind” funktionieren, aber das kann man nicht als gegeben voraussetzen.

Man sollte immer damit rechnen, dass man in die Dokumentation der jeweiligen Bibliothek schauen muss was die zur Installation schreiben. Im Zweifelsfall kommt ein Paket über `pip` als Quelltextarchiv und braucht zum bauen noch zusätzliche Python-Module (`setuptools` beispielsweise), oder wenn C-Quelltext dabei ist einen C-Compiler, und wenn das dann von C-Bibliotheken abhängig ist, müssen diese installiert sein, inklusive der Headerdateien die man zum kompilieren braucht. Und es gibt Module die ein Wrapper für Kommandozeilenprogramme sind, die brauchen dann natürlich das jeweilige Programm.

Bei `playsound` steht in der README was unter welchem Betriebssystem zum abspielen verwendet wird („On Linux, uses GStreamer.“). Die README wird im Package-Index als Projektbeschreibung verwendet.

`sounddevice` ist eine Anbindung an die PortAudio-Bibliothek — und dafür braucht man die dann natürlich auch.
“Most people find the concept of programming obvious, but the doing impossible.” — Alan J. Perlis
gottfried50
User
Beiträge: 7
Registriert: Montag 18. Januar 2021, 19:27

Oh, das war mir nicht bewusst! OK, werde in Zukunft etwas genauer schauen. Allerdings machen einem die einzelnen Tutorials glauben es sein ganz einfach. Letzteres zu meiner Entschuldigung

Gottfried
bb1898
User
Beiträge: 199
Registriert: Mittwoch 12. Juli 2006, 14:28

Ach ja, und "import sys" sollte immer funktionieren, weil sys zur Standardbibliothek gehört und damit bei jeder Python-Installation dabei ist. Das wird also nicht mit pip installiert.
gottfried50
User
Beiträge: 7
Registriert: Montag 18. Januar 2021, 19:27

...nanu: print( help('modules')) sollta ber auch sys zeigen... oder?
Benutzeravatar
__blackjack__
User
Beiträge: 13004
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

Ja. Tut es bei mir auch.
“Most people find the concept of programming obvious, but the doing impossible.” — Alan J. Perlis
Antworten