Wie patched man eine .py Datei?

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
felopy
User
Beiträge: 17
Registriert: Mittwoch 3. Juni 2015, 08:55

Hallo,
wie der Titel schon sagt, würde ich gerne wissen, wie man eine .py Datei unter Windows 7 patched.

Ich gehe mal davon aus, dass es nicht reicht, den Inhalt der patch Datei ans Ende der .py Datei zu schreiben ;)

Ich habe z.B. eine Datei axes.py.patch mit folgendem Inhalt:

Code: Alles auswählen

--- lib/matplotlib/axes.py.ori	2013-08-09 13:46:16.000000000 +0200
+++ lib/matplotlib/axes.py	2013-08-09 13:46:44.000000000 +0200
@@ -4424,7 +4424,7 @@
         for handle in self._get_legend_handles(legend_handler_map):
             label = handle.get_label()
             #if (label is not None and label != '' and not label.startswith('_')):
-            if label and not label.startswith('_'):
+            if label and label[0] != '_':
                 handles.append(handle)
                 labels.append(label)
 
@@ -8135,7 +8135,7 @@
 
         patches = []
 
-        if histtype.startswith('bar'):
+        if histtype[:3] == 'bar':
             totwidth = np.diff(bins)
 
             if rwidth is not None:
@@ -8183,7 +8183,7 @@
                     bottom[:] = m
                 boffset += dw
 
-        elif histtype.startswith('step'):
+        elif histtype[:4] == 'step':
             # these define the perimeter of the polygon
             x = np.zeros( 4*len(bins)-3, np.float )
             y = np.zeros( 4*len(bins)-3, np.float )

Google hilft mir hier leider nicht ausreichend weiter.

Mit freundlichen Grüßen
Felopy
Sirius3
User
Beiträge: 17750
Registriert: Sonntag 21. Oktober 2012, 17:20

@felopy: mir hilft google, und zwar gleich der zweite Treffer: patch.
jerch
User
Beiträge: 1669
Registriert: Mittwoch 4. März 2009, 14:19

@felopy:
Wenn das das einzige zu Patchende ist, kannst Du die 3 Änderungen auch mit der Hand vornehmen: - entfernst Du, + fügst Du hinzu. Wenn du die Änderungen anschaust, sind es nur kleine Änderungen in 3 Codezeilen.
BlackJack

@felopy: Für meinen Geschmack patcht das genau in die falsche Richtung. Was soll der Patch denn bewirken?
felopy
User
Beiträge: 17
Registriert: Mittwoch 3. Juni 2015, 08:55

Danke für die Antworten, hab's manuell gepatcht.

@BlackJack
Es sollte angeblich die Performance von Scatter Plots verbessern. In meinem Fall sehe ich leider keine Veränderung (waren ings. 3 zu patchende Datein)

http://matplotlib.1069221.n5.nabble.com ... 41767.html
Benutzeravatar
kbr
User
Beiträge: 1487
Registriert: Mittwoch 15. Oktober 2008, 09:27

felopy hat geschrieben:Danke für die Antworten, hab's manuell gepatcht.

@BlackJack
Es sollte angeblich die Performance von Scatter Plots verbessern. In meinem Fall sehe ich leider keine Veränderung (waren ings. 3 zu patchende Datein)

http://matplotlib.1069221.n5.nabble.com ... 41767.html
Solche "performance patches" sollten nur auf Basis eines Profilings erfolgen, insbesondere wenn dabei Les- und Wartbarkeit des Programms leiden. Wie BlackJack schon anmerkte, geht der hier gezeigte Patch stilistisch in die falsche Richtung.
Benutzeravatar
darktrym
User
Beiträge: 784
Registriert: Freitag 24. April 2009, 09:26

Wieviel %% holt man denn da raus?
„gcc finds bugs in Linux, NetBSD finds bugs in gcc.“[Michael Dexter, Systems 2008]
Bitbucket, Github
felopy
User
Beiträge: 17
Registriert: Mittwoch 3. Juni 2015, 08:55

Nur so zur Info:
Nutze jetzt ne andere lib, "Mayavi".
Damit kann ich zich mal mehr Punkte darstellen und es läut flüssig wie nix.

Auch mit der "visvis" lib läuft es schon um einiges besser, aber Mayavi toppt es total, es ist nur mit dem Koordinatensystem etwas komplizierter.
Antworten