Forum: Mikrocontroller und Digitale Elektronik Wohin am Python Module beim Raspberry pi


von Oisean (Gast)


Lesenswert?

Hallo zusammen!

Könnt ihr mir bei folgendem helfen? Ich spiele gerade mit meinem neuen 
Raspberry pi 3b und versuche mehr und mehr zu lernen. Dabei geht es auch 
primär um Python und da bin ich auch schon auf die erste Hürde gestoßen.

Schließe ich etwas an, wofür es eine fertiges Modul gibt, finde ich es 
nicht verwerflich, das auch zu benutzen. Ich habe mir konkret soeben die 
Library für den VL53L0x von git heruntergeladen. Wenn ich jetzt das 
Python Modul nur EIN mal irgendwohin kopieren möchte und nicht immer 
wieder in das aktuelle Projekt...wohin? (oder ist es eher Praxis, die 
nötigen Module immer mit dem Zielprogramm mehrfach zu kopieren, um 
Weitergabe zu erleichtern)

Wenn ich mit
import sys
sys.path

nachschaue, sehe ich z.B /usr/lib/python3.7... wäre es ratsam die dahin 
zu kopieren? Gehen die bei einem Python-Update dann nciht flöten?


also was tue ich am sinnvollsten

1) in /usr/lib/python3.7/
2) immer alles in einen Projektordner
3) ein eigenes neues Verzeichnis 7 doch DANN weiß ich nicht wie ich den 
Suchpfad ergänzen kann.

Herzlichen Dank,

Slainte

P.S. Ich habe das hier soeben tatsächlich auf einem Raspberry 
geschrieben, wirklich faszinierend.

von Daniel B. (dbuergin)


Lesenswert?

In meinen Umfeld ist es Brauch, sich für den eigenen User oder pro 
Projekt eine sogenannte virtuelle Python Umgebung einzurichten.
z.B. nach 
https://bodo-schoenfeld.de/eine-virtuelle-umgebung-fuer-python-erstellen/

Da kannst Du dann nach Herzenslust Deine Module/Libs installieren, ohne 
das systemweit installierte Python zu verändern.

Und wenn Du dich mal verfranst hast, oder etwas vermurkst hast, löscht 
Du einfach die virtuelle Umgebung und machst eine neue.

: Bearbeitet durch User
von Michael Gugelhupf (Gast)


Lesenswert?

Aktuelle Versionen von pip und setup.py kennen die Option --user. Damit 
werden die Dateien für einen Benutzer, nicht für das ganze System, 
installiert. Das merkt man daran, dass man zur Installation keine 
Root-Rechte braucht.

Der Pfad auf so installierte Module wird automatisch gesetzt. Da muss 
man nichts mehr irgendwo fummeln.

von Yalu X. (yalu) (Moderator)


Lesenswert?

Oisean schrieb:
> 1) in /usr/lib/python3.7/

Besser in /usr/lib/python3.7/site-packages/

Wenn die Module nur von einem einzelnen Benutzer benötigt werden, geht
auch ~/.local/lib/python3.7/site-packages/

Da kannst du sie auch gefahrloser und ohne Root-Rechte wieder löschen.
pip install --user installiert ebenfalls dorthin.

> 2) immer alles in einen Projektordner

Das geht natürlich auch. Wenn du ein Modul in mehreren Projekten
brauchst, hast du halt mehrere Kopien davon.

> 3) ein eigenes neues Verzeichnis 7 doch DANN weiß ich nicht wie ich den
> Suchpfad ergänzen kann.

Dafür gibt es die Environment-Variable PYTHONPATH. Da schreibst du alle
gewünschten Modul-Verzeichnisse getrennt durch Doppelpunkte hinein.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.