Software-update: Python 3.11.6 / 3.12

Python logo (75 pix) Python is een objectgeoriënteerde programmeertaal die kan worden gebruikt om eenvoudige tot complexe, platformonafhankelijke applicaties te ontwikkelen. Het is in de jaren negentig ontworpen door Guido van Rossum, die destijds in Amsterdam voor het CWI werkte. Guido was als BDFL betrokken bij de ontwikkeling van Python. Hij heeft daarnaast voor Dropbox gewerkt, ging daarna met pensioen en toen dat niet echt beviel, ging hij aan de slag bij Microsoft. Versie 3.11.6 en de eerste stabiele uitgave van versie 3.12 zijn uitgekomen en de releasenotes voor die laatste zijn hieronder te vinden.

Python 3.12.0 (final) now available

Finally, it’s final! The final release of Python 3.12.0 (final) is here! Python 3.12.0 is the newest major release of the Python programming language, and it contains many new features and optimizations. Major new features of the 3.12 series, compared to 3.11:

New features Type annotations Deprecations
  • The deprecated wstr and wstr_length members of the C implementation of unicode objects were removed, per PEP 623.
  • In the unittest module, a number of long deprecated methods and classes were removed. (They had been deprecated since Python 3.1 or 3.2).
  • The deprecated smtpd and distutils modules have been removed (see PEP 594 and PEP 632. The setuptools package continues to provide the distutils module.
  • A number of other old, broken and deprecated functions, classes and methods have been removed.
  • Invalid backslash escape sequences in strings now warn with SyntaxWarning instead of DeprecationWarning, making them more visible. (They will become syntax errors in the future.)
  • The internal representation of integers has changed in preparation for performance enhancements. (This should not affect most users as it is an internal detail, but it may cause problems for Cython-generated code.)

For more details on the changes to Python 3.12, see What’s new in Python 3.12.

Python

Versienummer 3.11.6 / 12.0
Releasestatus Final
Besturingssystemen Windows 7, Linux, BSD, macOS, Windows Server 2008, Windows Server 2012, Windows 8, Windows 10, Windows Server 2016, Windows Server 2019, Windows 11
Website Python
Download https://www.python.org/downloads/
Licentietype Voorwaarden (GNU/BSD/etc.)

Door Bart van Klaveren

Downloads en Best Buy Guide

03-10-2023 • 07:18

12

Bron: Python

Reacties (12)

12
12
11
0
0
0
Wijzig sortering
3.12 - ze gaan wel hard. Ik zit nog op 3.9.x met een paar applicaties en weet nou niet of het slim is die te migreren naar 3.11 of zelf 3.12. Blijft een hele fijne taal.

[Reactie gewijzigd door shades op 22 juli 2024 16:31]

Problem is dat de Python libraries vaak nog 1-2 weken nodig hebben om compatible te zijn.

Bijvoorbeeld Pandas, is nog niet 100% OK:

https://github.com/pandas-dev/pandas/issues/53665
Ik wacht meestal op de eerste patch release, dus 3.12.1 in dit geval. Dan sla je de kinderziektes over en zijn vaak de meeste libraries bijgewerkt
Op zich prima beleid, maar maak er dan ook werk van om wel op versie N-1 te zitten. Dus als je software nu nog gebruik maakt of zelfs afhankelijk is van Python 3.9, zorg dan dan je snel een upgrade doet naar 3.11.6.
3.9 wordt nog wel een poosje ondersteund, dus het is niet nodig om direct te gaan upgraden.
Ik zou zeggen hou de release status in de gaten https://devguide.python.org/versions/
Ik gok dat ik het meeste wel kan aanpassen indien er issues ontstaan - de applicatie is namelijk van mijn eigen hand. Wel een hoop pip packages maar ook die zullen wel geupdate worden. Rottiger als die niet meer worden bijgewerkt omdat het groepje wat een package onderhoud het project in de steek heeft gelaten. Dan zou ik moet kjken of iemand een fork heeft gemaakt (of zelf doen). Ik hoop alleen dat de ansible-runner python interface het blijft doen. Ik gebruik die namelijk erg veel.
Voor als jij (of andere lezers) het nog niet kende; pyupgrade is een handige tool om automatisch al je code aan te passen naar nieuwe, aanbevolen taal constructies. En belangrijker, om tijdig deprecated constructies te verwijderen.
zit ook nog op 3.9 door popos, maar 3.9 is nu al wel 3 jaar oud. Volgend jaar is 3.8 EOL
> Jongens we moeten van de GIL af
> Voegt meer GIL toe :D

Wat is eigenlijk het verschil tussen meerdere GIL's en mutiprocessing?

[Reactie gewijzigd door Osiummaster op 22 juli 2024 16:31]

Zoals ik het lees op: https://realpython.com/python-gil/ zorgt de GIL ervoor dat single threaded python programmas snel kunnen worden uitgevoerd.

Applicaties die meerdere threads gebruiken die IO-bound zijn lijden onder 1 GIL. Meerdere GILs lijken dus enerzijds geen impact te hebben op single threaded applicaties en tegelijkertijd multi threaded IO bound applicaties te versnellen.
Ja precies maar bij multiprocessing wordt dus in tegenstelling tot multithreading de huidige interpreter gekopieerd en krijg je dus ook 'meerdere GILs' ze delen alleen geen variabelen meet met elkaar dus je moet telkens dingen handmatig synchroniseren wat erg onoverzichtelijk is.
Er wordt inderdaad per thread een GIL aangemaakt. Ik ben ook uiterst sceptisch over de Python implementatie hiervan. Maar dat kunnen we pas zien als 3.13 uitgebracht wordt hoe dit gedaan wordt. Ik meen dat dit pas in 2026 gebeurd.

[Reactie gewijzigd door Anoniem: 294759 op 22 juli 2024 16:31]

Op dit item kan niet meer gereageerd worden.