Python is de Arduino van softwareprojecten. Het heeft een kritische massa van bibliotheken voor alles van gezichtsherkenning en neurale netwerken tot robotica en externe detectie. En net als Arduino, ik moet de moordende IDE voor Python nog vinden. Mogelijk heb ik nog niet de beste geprobeerd, maar het kan zijn dat ik gewoon Python verkeerd doe.

Jarenlang ben ik inactief geweest

Inactief met interactieve schelp die de voltooiing van de hoogte heeft van de hoogte
Ik ben een Linux-Only type van een man, dus het gebruik van inactief voor Python is een natuurlijke pasvorm. Het is in de repositories voor zeer snel en eenvoudig te installeren en er is in wezen geen zero-configuratie die moet worden gedaan. Typisch gezien is mijn favoriete ontwikkelingsomgeving teksteditor en opdrachtregelcompiler. Inactief is slechts één stap daarboven. U krijgt een apart venster voor de schaal en elk Python-bestand waar u aan werkt. Laat uw code niet uitvoeren en het slaat het bestand op en start het vervolgens in het schelpvenster.

Voor mij zijn er twee essentiële kenmerken van Shell’s Shell. De eerste is dat het een interactieve sessie openhoudt nadat u uw Python-code hebt uitgevoerd. Dit impliceert dat globalen die uw script gebruiken nog steeds beschikbaar zijn en dat u uw code kunt uitproberen door functies (en klassen, enz.) In realtime te bellen. De tweede wenselijke functie is dat tijdens het gebruik van deze interactieve schaal, inactieve ondersteuning voor het voltooien van de Code-voltooiing en DOCSTRING (het geeft u hints voor welke parameters een functie accepteert / vereist).

Maar eenvoud heeft een moeilijke tijdschaling. Ik ben bezig met grotere en grotere projecten verspreid over talloze bestanden en de individuele aard van de ramen van de idle editor en het ontbreken van robuuste navigatie, heeft mij naar voren verplaatst.

De kanshebbers

Ik heb nu misschien een half dozijn verschillende Python-ides geprobeerd, waardoor de meeste tijd twee van hen uitspreidt: geany en atoom. Beide zijn eenvoudig te installeren op Linux en bieden de veel geavanceerdere functies die ik wil voor grotere projecten: betere navigatie, Cross-bestandscode voltooiing (en waarschuwingen), variabele type en scope-indicatie.

Het uiterlijk van Gany brengt in de zin van een “IDE 1.0” -lay-outstijl en -thema. Het is de vertrouwde lay-out met drie delen die symbolen aan de linker-, code naar rechts en status langs de onderkant plaatsen. Wanneer u uw programma uitvoert, lanceert het in een interactieve terminal, die ik leuk vind, maar u verliest alle IDE-functies op dit punt, die ik veracht. Er is geen code voltooid en geen syntaxis-markering.

Ik heb Atom veel meer dan geany gebruikt en gegroeid zijn om het genoeg te vinden om er voor te blijven. Ik zou Atom de “IDE 2.0” -indeling bellen. Het lanceert met een donker thema en alles is een tabblad.

Atom heeft symboolweergave die niet altijd wordt getoond. Ctrl-R brengt het op en het gebruikt een zoekstijl, maar je kunt ook door alle symbolen scrollen
Atom hangt zwaar af op pakketten (plug-ins die iemand kan schrijven). Het pakketbeheer is goed en de pakketten die ik heb geprobeerd zijn fantastisch geweest. Ik gebruik autocomplete-python en tabs-to-spaces, maar nogmaals, ik kom kort op wanneer het gaat om het uitvoeren van Python-bestanden. Ik heb platformio-ide-terminal, script- en runner-plug-ins geprobeerd. De eerste brengt een terminal op als onderste deelvenster, maar voert het bestand niet automatisch in die terminal. Script gebruikt ook een onderste deelvenster, maar ik kan het niet om interactief te rennen. Ik gebruik momenteel loper met een goed beeld, maar is niet interactief. Ik heb toevlucht genomen tot het gebruik van een “nep” Python-bestand in mijn projecten als een oplossing voor commando’s en tests die ik meestal in de interactieve schaal zou lopen.

Vertel ons hoe jij Python

Het is volledig mogelijk dat ik gewoon al deze jaren geen python verkeerd gebruikt en dat kleutelen met je code in een interactieve shell is een slechte keuze voor ontwikkelingsprocessen.

Wat kies je voor je Python-ontwikkeling? Is een interactieve Shell Matter voor jou? Ben je begonnen met inactief en verhuizing naar een veel meer volwassen IDE. Welke IDE heb je uiteindelijk gedaan en wat voor soort compromissen heb je gemaakt tijdens die verandering. Laat het ons weten in de onderstaande opmerkingen.

Leave a Reply

Your email address will not be published. Required fields are marked *