You are here

Python

PyCharm 2016.3

Letzte Woche erschien PyCharm 2016.3 und brachte ein paar Feature auf die ich schon lange gewartet habe. Vor allem ist es endlich möglich, dem Django-Testrunner beliebige Argumente zu übergeben. Damit lässt sich endlich --keepdb und --parallel nutzen. Ersteres beschleunigt die Testausführung ungemein, wenn man immer wieder wenige kurze Tests ausführen möchte, letzteres macht große Testsuiten erträglich.

Letzte Woche erschien PyCharm 2016.3 und brachte ein paar Feature auf die ich schon lange gewartet habe. Vor allem ist es endlich möglich, dem Django-Testrunner beliebige Argumente zu übergeben. Damit lässt sich endlich --keepdb und --parallel nutzen. Ersteres beschleunigt die Testausführung ungemein, wenn man immer wieder wenige kurze Tests ausführen möchte, letzteres macht große Testsuiten erträglich. Außerdem wird jetzt, wenn man eine Virtualenv konfiguriert hat, diese in der eingebauten Konsole automatisch aktiviert. Auch Git remotes lassen sich endlich über PyCharm hinzufügen, ohne, dass man extra eine Konsole öffnen muss. Tatsächlich sind beides keine Feature, für die es keine einfachen Workarounds gab. Wieso es in einer ansonsten so auf flüssige Workflows getrimmten IDE aber so lange gedauert hat diese Kleinigkeiten einzubauen ist mir etwas unverständlich. Das neue Python 3.6 wird jetzt auch unterstützt. Allerdings werde ich, auch wenn diese aus verschiedenen Gründen sehr spannend ist, wohl noch eine Weile warten müssen, bis ich diese richtig einsetzen kann. Das gleiche gilt für den neuen Numpy-Array- und Dataframe-Viewer im Debugger. Als ich noch regelmäßig mit OpenCL gearbeitet habe musste ich mir die entsprechende Funktionalität immer selber bauen. Schön, dass jetzt einfach an Bord zu haben, wenn man es mal benötigt. Gerade bei Gelegenheitsnutzung, wie es bei mir gerade mit Numpy ist, ist es besonders ärgerlich sich notwendige Werkzeuge selbst bauen zu müssen. Insgesamt lohnt das Update auf PyCharm 2016.3 also. Für mich vor allem wegen der deutlich verbesserten Django-Unterstützung.

Devpi-Cleaner 0.2.0

Wer einen größeren Devpi-Server betreibt kommt immer wieder mal in die Situation Pakete von diesem löschen zu müssen. Für einzelne Pakete lässt sich dies mit dem normalen Devpi-Client noch leidlich komfortabel lösen, aber schon nichtvolatile Indices machen daraus ein aufwendiges Unterfangen mit mehreren manuellen Schritten, bei dem leicht Fehler unterlaufen.

Wer einen größeren Devpi-Server betreibt kommt immer wieder mal in die Situation Pakete von diesem löschen zu müssen. Für einzelne Pakete lässt sich dies mit dem normalen Devpi-Client noch leidlich komfortabel lösen, aber schon nichtvolatile Indices machen daraus ein aufwendiges Unterfangen mit mehreren manuellen Schritten, bei dem leicht Fehler unterlaufen. Um diese Problem zu lösen gibt es Léon, den Devpi-Cleaner, der es beispielsweise ermöglichte alle alten Enwicklungsversionen zu entfernen oder den Index nur für die Dauer der Löschoperation volatil zu schalten. Die Notwendigkeit auf dem Devpi aufzuräumen ergibt sich nicht nur, wenn mal ein Paket falsch hochgeladen wurde. Auch Änderungen der Indexstruktur können eine Aufräumaktion sinnvoll machen. Und wer Continuous Integration ernst nimmt und zu jedem erfolgreichen Build ein Paket hochlädt, dem blähen alte, nicht mehr benötigte Entwicklungsversionen die Backupgröße, und damit auch die Erstellungsdauer auf. Bei meinem Arbeitgeber Blue Yonder ist es glücklicherweise gerne gesehen allgemein nutzbare Software als Open Source zu veröffentlichen. So konnte ich letzte Woche Version 0.2.0 von Léon, dem Devpi-Cleaner veröffentlichen. Nicht nur sind jetzt komplexere Auswahlkriterien möglich, sondern das Löschen geht jetzt auch deutlich schneller und dank Fortschrittsbalken mit Restzeitabschätzung hat man eine Chance seine Kaffeepausen zeitoptimiert einzulegen. Eine komplette Liste der Änderungen findet sich im Changelog.

Sollten dir die Artikel auf dieser Seite gefallen und du Bitcoin für ein interessantes Experiment halten, so schicke doch eine kleine Spende an 14pQyjx5EFQCwPBkXMTz5nTcfPsnjHmWqA.

Subscribe to RSS - Python