[Python-de] Globaler "prefix" o.ae.
Thomas 'PointedEars' Lahn
PointedEars at web.de
So Sep 11 11:22:38 CEST 2011
Ole Streicher wrote:
> Hallo Gruppe,
Hallo Benutzer,
> ich habe ein größeres Python-Paket, welches (neben der spezifischen
> Konfiguration, siehe mein letztes Posting) dummerweise auch so
> generische Namen wie "common", "database" als Modulnamen verwendet.
>
> Importstatements sehen daher etwa so aus:
>
> from common.config.Profile import profiles
> from database.ps2.Database import database
>
> usw.
>
> Sowas lässt sich natürlich nicht so ohne weiteres z.B. in ein
> Python-Repository einpflegen, weil es mit jedem anderen Paket, welches
> so frech ist, "common" und "database" zu verwenden, clashen würde.
Unsinn.
> Daher wäre es gut, wenn man bei der Installation einen generischen
> Prefix voranstellen könnte, so dass die Module etwa lauten
>
> mypackage.common
> mypackage.database
>
> Erste Frage: wie macht man das?
Verzeichnis `mypackage' erstellen.
> Wenn das geschafft ist, besteht das Problem, dass sowohl Userprogramme
> als auch der Code innerhalb der Pakete sich untereinander mit "common"
> und "database" referenziert und damit wohl nicht mehr lauffähig
> wäre.
Unsinn. man PYTHONPATH
> Wie bringe ich ihm dann bei, dass innerhalb der Pakete automatisch
> ein "mypackage" hinzugefügt wird? Und wie kann man dann in einem
> Programm global sagen, dass "mypackage" im Suchpfad auftauchen soll?
man PYTHONPATH
> Normalerweise wäre das ja ein
>
> from mypackage import *
>
> aber wohin kommt das, damit ich es nicht in jede Datei einzeln packen
> muss?
Nirgendwohin.
RTFM: <http://docs.python.org/release/3.2.2/reference/simple_stmts.html#the-
import-statement>
<http://www.tty1.net/smart-questions_de.html>
--
PointedEars
Please do not Cc: me. / Bitte keine Kopien per E-Mail.
Mehr Informationen über die Mailingliste python-de