Domains als Namespaces

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Benutzeravatar
veers
User
Beiträge: 1219
Registriert: Mittwoch 28. Februar 2007, 20:01
Wohnort: Zürich (CH)
Kontaktdaten:

Sonntag 30. Dezember 2007, 16:58

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
[url=http://29a.ch/]My Website - 29a.ch[/url]
"If privacy is outlawed, only outlaws will have privacy." - Phil Zimmermann
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Sonntag 30. Dezember 2007, 17:21

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.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Benutzeravatar
veers
User
Beiträge: 1219
Registriert: Mittwoch 28. Februar 2007, 20:01
Wohnort: Zürich (CH)
Kontaktdaten:

Sonntag 30. Dezember 2007, 23:15

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?
[url=http://29a.ch/]My Website - 29a.ch[/url]
"If privacy is outlawed, only outlaws will have privacy." - Phil Zimmermann
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Montag 31. Dezember 2007, 00:56

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.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Antworten