Distutils alte Module löschen

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:

Montag 16. Februar 2009, 01:28

Ich habe ein Problem mit pythons distutils. Und zwar will ich das wenn die neue Version meines Modules installiert wird die alten files entfernt werden.

Praktisch habe ich folgendes Problem:

Alte Version:
appname/appname.py
appname/stuff.py

Neue Version:
appname/app.py
appname/stuff.py

Weil appname als Modulname Probleme gemacht hat will ich nun sicher stellen das wenn die neue Version installiert wird appname/appname.py[co]?
entfernt wird. Wie mache ich das?

Und meine ich das nur oder sind die distutils... unvollständig.

Gruss,
Jonas
[url=http://29a.ch/]My Website - 29a.ch[/url]
"If privacy is outlawed, only outlaws will have privacy." - Phil Zimmermann
CM
User
Beiträge: 2464
Registriert: Sonntag 29. August 2004, 19:47
Kontaktdaten:

Montag 16. Februar 2009, 10:20

veers hat geschrieben:Und meine ich das nur oder sind die distutils... unvollständig.
Vielleicht, vor allem aber etwas unübersichtlich ;-).

Also, ich weiß nicht, wie man so etwas in distutils integrieren könnte: Woher sollen die distutils *wissen* können, ob das jetzt ein Modul ist, das dem Paket zugefügt wurde, oder es sich um eine Umbenennung handelt?
Du könntest allerdings Dein setup.py mit einem neuen Kommando erweitern. Z. B. etwa so:

Code: Alles auswählen

class Cleanup(Command):
    description = "bla bla"
    user_options = [ was auch immer ]
    
    def initialize_options(self):
        # was auch immer Du als default setzen willst
    
    # von distutils verlangt
    def finalize_options(self):
        pass

    def run(self):
        cleanupregex = re.compile(Dein Ähnlichkeitsausdruck)
        # wenn Filename.match(cleanupregex): löschen
Na ja, ziemlich wüst, aber Du bist gut genug, das in die Tat umzusetzen, wenn Dir die Idee zusagt.

Gruss,
Christian
Benutzeravatar
name
User
Beiträge: 254
Registriert: Dienstag 5. September 2006, 16:35
Wohnort: Wien
Kontaktdaten:

Montag 16. Februar 2009, 17:19

veers hat geschrieben:Und meine ich das nur oder sind die distutils... unvollständig.
Da ist 'schrecklich' imho treffender.
Ohloh | Mein Blog | Jabber: segfaulthunter@swissjabber.eu | asynchia – asynchrone Netzwerkbibliothek

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.
Benutzeravatar
veers
User
Beiträge: 1219
Registriert: Mittwoch 28. Februar 2007, 20:01
Wohnort: Zürich (CH)
Kontaktdaten:

Montag 16. Februar 2009, 20:23

CM hat geschrieben:Also, ich weiß nicht, wie man so etwas in distutils integrieren könnte: Woher sollen die distutils *wissen* können, ob das jetzt ein Modul ist, das dem Paket zugefügt wurde, oder es sich um eine Umbenennung handelt?
Es könnte sich einfach merken welche Files es installiert. Dann könnte es diese nämlich auch deinstallieren. Das mit dem distutils Command wäre eine Möglichkeit, ja. Aber irgend wie geht meine Tendenz langsam in Richtung eigene setup.py oder zumindest eigener Install Command. Dann bin ich wenigstens selbst schuld.

Jonas
[url=http://29a.ch/]My Website - 29a.ch[/url]
"If privacy is outlawed, only outlaws will have privacy." - Phil Zimmermann
Antworten