Seite 1 von 1

Domains als Namespaces

Verfasst: Sonntag 30. Dezember 2007, 16:58
von veers
Hi ihrs,

Ich habe mal eine Frage bezüglich der Namespaces. Bei Java & co ist es ja üblich den Domain Namen eines Projektes als Namespace zu verwenden.
Die Idee finde ich eigentlich nicht schlecht - es wird ein bestehendes globales System zur Verhinderung von Kollisionen verwendet. In Python wird das ja nicht so gemacht.

Die Frage ist nun wo soll ich meine semiprivaten Module ablegen. Es geht dabei primär um kleine Helper welche ich in mehreren Projekten verwende die ich aber nicht wirklich als eigene Module publizieren will.

Eine weitere Frage ist wie ich in Python mehrere Versionen eines Modules gleichzeitig installiert haben kann.

Gruss,
Jonas

Re: Domains als Namespaces

Verfasst: Sonntag 30. Dezember 2007, 17:21
von Leonidas
veers hat geschrieben:Eine weitere Frage ist wie ich in Python mehrere Versionen eines Modules gleichzeitig installiert haben kann.
Mit setuptools kannst du beliebig viele Versionen von einem Modul nutzen, ohne dass es zu Konflikten kommt. Dabei kannst du auch exakt definieren welche Version geladen werden soll, sowie auch eine Default-Version haben, die verwendet wird, wenn Programme die setuptools nicht nutzen auf die Module zugreifen.

Damit ist es auch möglich RuleDispatch und PyDispatch gleichzeitig installiert zu heben, welche beide das Package ``dispatch`` definieren.

Domains als Namespaces finde ich selbst nicht so besonders gut, denn obwohl es zwar recht einzigartig ist, sagt es recht wenig über das Package selbst aus und ist teilweise auch einfach schwer zu merken. Aber gehen tut es natürlich auch in Python, indem du Packages verschachtelst.

Re: Domains als Namespaces

Verfasst: Sonntag 30. Dezember 2007, 23:15
von veers
Leonidas hat geschrieben:Domains als Namespaces finde ich selbst nicht so besonders gut, denn obwohl es zwar recht einzigartig ist, sagt es recht wenig über das Package selbst aus und ist teilweise auch einfach schwer zu merken. Aber gehen tut es natürlich auch in Python, indem du Packages verschachtelst.
Das ist mir klar. Nur ist es Sinnvoll das zu tun? Was wäre besser?

Re: Domains als Namespaces

Verfasst: Montag 31. Dezember 2007, 00:56
von Leonidas
veers hat geschrieben:Was wäre besser?
Sinnvolle Packagenamen und setuptools.

Also wenn ich so schaue, dann bin ich bisher nur mit einer wirklich dummen Kollision zusammengetroffen, weil mein ``parser.py`` mit dem Parser aus der Stdlib kollidiert ist, der von RuleDispatch benutzt wurde, also hat mir RuleDispatch ganz merkwürdige Exceptions geworfen. Und eben das schon angesprochene Problem mit den Dispatchern. Wobei, es gibt einen PyDispatcher-Fork namens Louie, der kollidiert logischerweise nicht mehr mit RuleDispatch und PJE wird RuleDispatch sowieso vermutlich über kurz oder lang durch irgendetwas anderes ersetzen.