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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.