CPython je podrazumevana, najrasprostranjenija implementacija programskog jezika Pajton. Napisana je u jeziku C. CPython je interpretator izvornog koda. Sadrži interfejs strane funkcije sa nekoliko jezika uključujući C, u kome osoba mora eksplicitno pisati bajnding u programskom jeziku koji nije Pajton.

CPython
Logo
Originalni nazivengl. Python
Izgovara seCe Pajton
ModelC
Autor(i)Gvido van Rosum
Aktuelna verzija3.5.0 i 2.7.10
LicencaPython Software Foundation licenca[1]
Veb-sajthttp://www.python.org/
Dokumentacijahttp://www.python.org/doc/

CPython je jedna od nekoliko „proizvodnja-kvalitet” implementacija Pajtona uključujući: Jython, napisan u Javi za JVM, PyPy, napisana u RPython i prevedena u C, i IronPython, koja je napisana u C# za Opštu jezičku infrastrukturu. Postoje i nekoliko eksperimentalnih implementacija.[2]

Problemi saglasnosti uredi

Jedna od većih loših strana korišćenja CPython-a je prisustvo globalnog katanca interpretatora na svakom CPython procesu interpretatora, što efektivno onemogućava saglasnost Pajtonovih poglavlja u okviru jednog procesa.[3] Da bi bila potpuno saglasna u okruženju multitaskinga, odvojena CPython interpretatorska procesa su potrebna da se pokrenu, što čini komunikaciju između njih težim poslom, ali modul multiprocesinga ublažava ovo donekle. Bilo je dosta diskusije o tome da li treba obrisati GIL iz CPython-a, čak i nakon odbacivanja „otvorenog poglavlja” zakrpe na CPython-u iz Greg Stejn što je efektivno zamenilo GIL sa sitnozrnim zaključavanjem. Odbacivanje je uglavnom bilo bazirano na opštoj zakrpi koja je nanosila pokretanje jednog koda procesa.[4]

Podržane platforme uredi

Podržane platforme uključuju:[5]

Prethodno podržane platforme uredi

PEP 11 sadrži listu platformi koje nisu podržane u CPython-u od Softverske Fondacije Pajtona. Ove platforme mogu i dalje biti podržane sa spoljnim portovima. Pogledajte ispod.

  • AtheOS (nepodržano od 2.6)
  • BeOS (nepodržano od 2.6)
  • DOS (nepodržano od 2.0)
  • IRIX 4 (nepodržano od 2.3)
  • Mac OS 9 (nepodržano od 2.4)
  • MINIX (nepodržano od 2.3)
  • Windows 3.x (nepodržano od 2.0)
  • Windows 9x (nepodržano od 2.6)
  • Windows NT4 (nepodržano od 2.6)

Spoljni portovi uredi

Ovo su portovi koji nisu integrisani u zvaničnoj verziji CPython-a od Softverske Fondacije Pajtona, sa linkovima do njegovog glavnog sajta razvoja. Portovi obično uključuju dodatne module za funkcionalnosti platformi, kao što su grafika i zvuk API za PSP i SMS i API kamere za S60.

Istorija verzija uredi

Verzija Datum objave Podržano do
2.2 2001-12-21[7] 2003-05-30[8]
2.3 2003-07-29[9] 2008-03-11[10]
2.4 2004-11-30[11] 2008-12-19[12]
2.5 2006-09-19[13] 2011-05-26[14]
2.6 2008-10-01[15] 2013-10-29[16]
2.7 2010-07-03[17] 2020-01-01[18]
3.0 2008-12-03[19] 2009-06-27[20]
3.1 2009-06-27[21] 2014-04-09[22]
3.2 2011-02-20[23] 2016-02-27[24]
3.3 2012-09-29[25] 2017-09-29[26]
3.4 2014-03-16[27] 2019-03-16
3.5 2015-09-13[28] 2020-09-13
3.6 2016-12-23[29] 2021-12-23[30]
3.7 2018-06-27[31] 2023-06-27[30]
3.8 2019-10-20[32] 2024-10[32]

Reference uredi

  1. ^ History and License — Python v2.7.3 documentation, Pristupljeno 23. 4. 2013.
  2. ^ Martelli 2006
  3. ^ "Initialization, Finalization, and Threads — Python v2.7.6 documentation".
  4. ^ "Library and Extension FAQ".
  5. ^ "PythonImplementations".
  6. ^ „Irix still supported?”. 
  7. ^ „Python 2.2”. Python.org. Pristupljeno 06. 02. 2014. 
  8. ^ „Python 2.2.3”. Python.org. Pristupljeno 06. 02. 2014. 
  9. ^ „Python 2.3”. Python.org. 29. 07. 2003. Pristupljeno 06. 02. 2014. 
  10. ^ „Python 2.3.7 Release”. Python.org. 11. 03. 2008. Pristupljeno 06. 02. 2014. 
  11. ^ „Python 2.4”. Python.org. 30. 11. 2004. Pristupljeno 06. 02. 2014. 
  12. ^ „Python 2.4.6 Release”. Python.org. 19. 12. 2008. Pristupljeno 06. 02. 2014. 
  13. ^ „Python 2.5 Release”. Python.org. 19. 09. 2006. Pristupljeno 06. 02. 2014. 
  14. ^ „Python 2.5.6”. Python.org. 26. 05. 2011. Pristupljeno 06. 02. 2014. 
  15. ^ „Python 2.6 Release”. Python.org. 01. 10. 2008. Pristupljeno 06. 02. 2014. 
  16. ^ „Python 2.6.9 Release”. Python.org. 29. 10. 2013. Pristupljeno 06. 02. 2014. 
  17. ^ „Python 2.7 Release”. Python.org. 03. 07. 2010. Pristupljeno 06. 02. 2014. 
  18. ^ „PEP 373 - Python 2.7 Release Schedule”. Python.org. Pristupljeno 06. 02. 2014. 
  19. ^ „Python 3.0 Release”. Python.org. 03. 12. 2008. Pristupljeno 06. 02. 2014. 
  20. ^ „Python 3.0.1 Release”. Python.org. 13. 02. 2009. Pristupljeno 06. 02. 2014. 
  21. ^ „Python 3.1 Release”. Python.org. 27. 06. 2009. Pristupljeno 06. 02. 2014. 
  22. ^ „PEP 375 - Python 3.1 Release Schedule”. Python.org. Pristupljeno 06. 02. 2014. 
  23. ^ „Python 3.2 Release”. Python.org. 20. 02. 2011. Pristupljeno 06. 02. 2014. 
  24. ^ „PEP 392 - Python 3.2 Release Schedule”. Python.org. Pristupljeno 06. 02. 2014. 
  25. ^ „Python 3.3.0 Release”. Python.org. 29. 09. 2012. Pristupljeno 06. 02. 2014. 
  26. ^ „PEP 398 - Python 3.3 Release Schedule”. Python.org. Pristupljeno 06. 02. 2014. 
  27. ^ „Python 3.4.0 Release”. Python.org. Pristupljeno 26. 04. 2014. 
  28. ^ „Python 3.5.0 Release”. Python.org. Arhivirano iz originala 19. 09. 2015. g. Pristupljeno 16. 09. 2015. 
  29. ^ „Python 3.6.0 Release”. Python.org. Pristupljeno 01. 01. 2017. 
  30. ^ a b „Python Developer’s Guide: Status of Python branches”. Python Software Foundation. Pristupljeno 19. 09. 2018. 
  31. ^ „Python 3.7 Release Schedule”. Python.org. Pristupljeno 01. 01. 2017. 
  32. ^ a b „Python 3.8 Release Schedule”. Python.org. Pristupljeno 02. 07. 2017.