Python 2.7 wordt sinds begin dit jaar niet meer door de Python Software Foundation ondersteund. Dit heeft voor opschudding gezorgd, ook bij ArcGIS-gebruikers. Python 2.7 is een belangrijk onderdeel van vele ArcGIS Desktop programma’s zoals ArcCatalog, ArcScene en ArcMap. Het wordt gebruikt voor toolboxes, geoprocessing tools, etc. Dit is ook het dilemma, wat gebeurt er met de ondersteuning van bijvoorbeeld ArcMap welke gebruik maakt van Python 2.7? Dit blog geeft een inzicht in deze ontwikkeling.
Leestijd 5 min.
Python 2.7 end of life
Python 2.7 een oldtimer, een echte klassieker. Het bestaat al sinds 2000 en is door deze lange levensduur een veelgebruikte versie. Door het intensieve gebruik werd het tot dit jaar ondersteund. De technologie blijft zich echter verder ontwikkelen en ondertussen is het blijven ondersteunen van deze versie onhaalbaar geworden. Dit heeft de Python Software Foundation doen besluiten om geen tijd meer te steken in deze versie. Per 1 januari 2020 is de ondersteuning gestopt en is Python 2.7 ‘end of life’, of zoals ontwikkelaars zeggen: the sunset of Python 2.7.
In de blog ‘How sunsetting Python 2 affects ArcGIS’, beschrijft Esri een zonsondergang, waarmee het einde van Python 2.7 wordt beschreven.
‘End of life’ betekent dat de versie blijft werken, maar gevonden bugs of wensen worden niet meer verwerkt in die versie. Dit wil zeggen dat de Python 2.7 versie geen verdere verbeteringen meer ontvangt in de toekomst. Beveiligingsproblemen die nu of in de toekomst gevonden worden, zullen niet meer gerepareerd worden.
Er is nog één allerlaatste versie uitgekomen in april 2020. Daarin zijn de laatste problemen en/of fouten opgelost die voor 1 januari 2020 bekend waren.
Oldtimer
We noemden eerder Python 2.7 een oldtimer. Om deze verandering meer tot de verbeelding te laten spreken, gebruiken we hier een vergelijking met Cuba. Mensen die wel eens in Cuba zijn geweest weten dat de oldtimers direct opvallen. De lokale bevolking rijdt nog dagelijks in deze oude auto’s. Het is een belangrijk onderdeel van hun bestaan, een toeristische trekpleister waarmee zij geld verdienen om van te leven.
Zo is het ook met Python. Het is een groot en belangrijk component van het ArcGIS Desktop-platform. En ondanks dat Python 2.7 al een lange tijd met ons is, zal deze ook in de toekomst gewoon blijven werken. Net als dat de oldtimers in Cuba hun kilometers blijven maken…
ArcMap en Python
De klassieke auto’s zijn een cruciaal onderdeel van het leven op Cuba, net als Python voor ArcMap. Stoppen met Python 2.7 in ArcMap is dus ondenkbaar, het is met elkaar verweven. Gebruikers van ArcMap kunnen gebruik blijven maken van de vertrouwde Python 2.7 mogelijkheden, ook in de toekomst. Zo zal de laatste versie van Python 2.7 worden opgenomen in de komende versies van ArcMap. Denk hierbij aan het aangekondigde ArcGIS Desktop 10.8.1. Dit betekent echter niet dat Esri de nieuw gevonden fouten in Python 2.7 zal gaan oplossen. De ArcGIS software gebruikt Python, maar Esri onderhoudt geen Python versies, dat wordt gedaan door de Python Software Foundation.
Python 3.x
De opvolger van Python 2.7 is Python 3 en is beschikbaar sinds 2008. Deze versie ontvangt alle nieuwe functies, verbeteringen en beveiligingsupdates. Alle Python 2.7-gebruikers worden geadviseerd om te schakelen naar Python 3. De Python Software Foundation kan hierdoor meer tijd steken in het verbeteren en versnellen van de ‘nieuwe’ Python versie 3. Maar hoe doe je dat als ArcGIS-gebruiker en wat als u uw scripts hebt gepubliceerd naar ArcGIS Server?
Laten we beginnen met ArcGIS Server. Alle scripts die als Geoprocessing Tool zijn gepubliceerd naar ArcGIS Server blijven werken. Daarnaast is ArcGIS Server in staat om te detecteren welke versie van Python er gebruikt wordt. Aangezien beide versies van Python ondersteund worden door ArcGIS Server blijft alles gewoon werken.
ArcGIS Pro en Python 3
Alle nieuwe ontwikkelingen op het gebied van desktop GIS vinden plaats op ArcGIS Pro. ArcGIS Pro maakt gebruik van de nieuwste versie van Python 3. Bij elke nieuwe versie van ArcGIS Pro wordt de laatst mogelijke versie van Python meegeleverd. Hierdoor blijft ArcGIS Pro bij met de laatste ontwikkelingen. Om als gebruiker de kracht van ArcGIS te blijven gebruiken zal u ook mee moeten gaan in de ontwikkeling van de Python technologie.
Het overstappen naar Python 3 houdt dus het volgende in: een stap richting de toekomst. Een stap die leidt naar het gebruik van nieuwe technologieën en waarbij gebruikers anders gaan werken met GIS. We zullen steeds meer vanuit een desktop- naar een WebGIS-visie overgaan: Een overstap van ArcGIS producten zoals ArcMap en ArcCatalog naar ArcGIS Pro en ArcGIS Online/Enterprise.
Overstappen naar Python 3
Voor ontwikkelaars betekent een zonsondergang van een product, het einde van de ondersteuning. Een zonsondergang is mooi en een perfecte gelegenheid om terug te kijken. De zonsondergang wordt altijd gevolgd door een mooie zonsopkomst, elk eind is weer een nieuw begin. Als eerste stap in de migratie naar Python 3 en daarmee ArcGIS Pro, is het aan te raden te onderzoeken welke Python 2.7 scripts er nog gebruikt worden en omgezet moeten worden naar versie 3. Hiermee bent u bij met de laatste technologie tot een volgende zonsondergang. Ga daarom bij uzelf na hoe dit in uw organisatie geregeld is. Bedenk of vraag na welke scripts nog gebruik maken van Python 2.7 om goed voorbereid te zijn.
Mocht u meer informatie willen over deze overstap of technische ondersteuning bij het upgraden van uw Python 2.7 scripts? Esri Nederland staat voor u klaar om u hierbij te helpen. Neem daarom gerust contact met ons op.