Ich baue eine Reihe von Python-Erweiterungen mit distutils. Die Erweiterungen hängen von externen Bibliotheken ab (die nicht mit Python zusammenhängen), die normalerweise mit Makefiles aus der Quelle erstellt werden. Diese externen Bibliotheken werden sich wahrscheinlich nicht oft ändern.Caching-Dateien für spätere Neuerstellungen mit Distutils
Um die Benutzer zu entlasten, holen meine setup.py-Skripte die Bibliotheken aus dem Web mithilfe von urllib.urlretrieve(), analysieren die Makefiles, um die Liste der relevanten Quelldateien zu sammeln, und erstellen mit config.add_library(). Das funktioniert gut und alles ist gut.
Meine Frage ist: Was ist die beste/empfohlene Möglichkeit, die heruntergeladenen Quelldateien zwischenzuspeichern, so dass Disteutils sie nicht noch einmal neu herunterladen, wenn ich neu erstelle? Ist es möglich, sie zum Beispiel in den Builds/src.macosx-10.6-x86_64-2.7 oder build/temp.macosx-10.6-x86_64-2.7 Ordnern zu speichern, die von distutils erstellt wurden? Wenn ja, wie fragt man den Namen dieser Ordner ab?
Vielen Dank im Voraus!
'distutils.command.build' Instanz hat' self.build_temp' Attribut. – jfs
Sie könnten die Binärbibliothek-Downloads während eines ersten Laufs anstelle eines Teils des Setup-Skripts zum Teil der Initialisierung des Programms machen. – Apalala