Seite 1 von 1

Hilfe zu site-packages und PYTHONPATH unter Linux (Ubuntu)

Verfasst: Freitag 2. Oktober 2009, 10:06
von tyler
Hallo,

ich habe bislang Python unter Windows genutzt und alle eigenen Module lagen direkt in dem site-packages Verzeichnis unter Python.

Nun möchte ich einen Teil dieser Module auch unter Linux nutzen. Jetzt habe ich ein paar Fragen dazu, denn Linux ist Neuland für mich.

Ich habe die Module (incl. Unterverzeichnisse) unter $HOME/sandbox/site-packages angelegt bzw. dort hinkopiert. In der $HOME/.profile Datei habe ich folgende Zeile hinzugefügt:
export PYTHONPATH=“$PYTHONPATH:$HOME/sandbox/site-packages“

PYTHONPATH wird dann auch gesetzt, nur es lassen sich keine Module aus den Unterverzeichnissen importieren. Wie lässt sich das anpassen?
Kann ich das ggf. mit einer .pth Datei umgehen? Oder muss ich die Module doch direkt in das Python site-packages Unterverzeichnis kopieren?

Danke
T.

Verfasst: Freitag 2. Oktober 2009, 10:19
von cofi
Das hat nichts mit Linux zu tun, sondern damit, dass Python Verzeichnisse als Paket behandelt.

Wenn du bei dem Aufbau bleiben willst, musst du eine Datei namens ``__init__.py`` in jedem Unterordner erstellen, rekursiv.

Mehr zu Paketen gibts im Tutorial (oder in der Language Reference).

Verfasst: Freitag 2. Oktober 2009, 10:33
von tyler
Danke, __init__.py Dateien gibt es in allen Unterverzeichnissen, soweit ich das sehe. Dann schaue ich noch in das Tutorial.
Ich würde die Verzeichnisstruktur schon gern so beibehalten, denn so ist es auch in dem Repository eingecheckt.

Edit:
Ich habe im Tutorial geschaut. Pakete, sprich Modulnamen durch Punkte getrennt, lassen sich nun importieren oder starten. Nur warum das Verhalten unter Windows anders ist als unter Linux ist mir noch immer nicht klar.