Wohin am Python Module beim Raspberry pi

Gast #6303107
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.
#6304087
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.
Gast #6304325
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.
Moderator #6304354
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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren