CPython је подразумевана, најраспрострањенија имплементација програмског језика Пајтон. Написана је у језику C. CPython је интерпретатор изворног кода. Садржи интерфејс стране функције са неколико језика укључујући C, у коме особа мора експлицитно писати бајндинг у програмском језику који није Пајтон.

CPython
Лого
Оригинални називенгл. Python
Изговара сеЦе Пајтон
МоделC
Аутор(и)Гвидо ван Росум
Актуелна верзија3.5.0 и 2.7.10
ЛиценцаPython Software Foundation лиценца[1]
Веб-сајтhttp://www.python.org/
Документацијаhttp://www.python.org/doc/

CPython је једна од неколико „производња-квалитет” имплементација Пајтона укључујући: Jython, написан у Јави за JVM, PyPy, написана у RPython и преведена у C, и IronPython, која је написана у C# за Општу језичку инфраструктуру. Постоје и неколико експерименталних имплементација.[2]

Проблеми сагласности

уреди

Једна од већих лоших страна коришћења CPython-а је присуство глобалног катанца интерпретатора на сваком CPython процесу интерпретатора, што ефективно онемогућава сагласност Пајтонових поглавља у оквиру једног процеса.[3] Да би била потпуно сагласна у окружењу мултитаскинга, одвојена CPython интерпретаторска процеса су потребна да се покрену, што чини комуникацију између њих тежим послом, али модул мултипроцесинга ублажава ово донекле. Било је доста дискусије о томе да ли треба обрисати GIL из CPython-а, чак и након одбацивања „отвореног поглавља” закрпе на CPython-у из Грег Стејн што је ефективно заменило GIL са ситнозрним закључавањем. Одбацивање је углавном било базирано на општој закрпи која је наносила покретање једног кода процеса.[4]

Подржане платформе

уреди

Подржане платформе укључују:[5]

Unix-типа

Посебне и уграђене

Остали

Претходно подржане платформе

уреди

ПЕП 11 садржи листу платформи које нису подржане у CPython-у од Софтверске Фондације Пајтона. Ове платформе могу и даље бити подржане са спољним портовима. Погледајте испод.

  • AtheOS (неподржано од 2.6)
  • BeOS (неподржано од 2.6)
  • DOS (неподржано од 2.0)
  • IRIX 4 (неподржано од 2.3)
  • Mac OS 9 (неподржано од 2.4)
  • MINIX (неподржано од 2.3)
  • Windows 3.x (неподржано од 2.0)
  • Windows 9x (неподржано од 2.6)
  • Windows NT4 (неподржано од 2.6)

Спољни портови

уреди

Ово су портови који нису интегрисани у званичној верзији CPython-а од Софтверске Фондације Пајтона, са линковима до његовог главног сајта развоја. Портови обично укључују додатне модуле за функционалности платформи, као што су графика и звук АПИ за ПСП и СМС и АПИ камере за С60.

Историја верзија

уреди
Верзија Датум објаве Подржано до
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]

Референце

уреди
  1. ^ History and License — Python v2.7.3 documentation, Приступљено 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. Приступљено 06. 02. 2014. 
  8. ^ „Python 2.2.3”. Python.org. Приступљено 06. 02. 2014. 
  9. ^ „Python 2.3”. Python.org. 29. 07. 2003. Приступљено 06. 02. 2014. 
  10. ^ „Python 2.3.7 Release”. Python.org. 11. 03. 2008. Приступљено 06. 02. 2014. 
  11. ^ „Python 2.4”. Python.org. 30. 11. 2004. Приступљено 06. 02. 2014. 
  12. ^ „Python 2.4.6 Release”. Python.org. 19. 12. 2008. Приступљено 06. 02. 2014. 
  13. ^ „Python 2.5 Release”. Python.org. 19. 09. 2006. Приступљено 06. 02. 2014. 
  14. ^ „Python 2.5.6”. Python.org. 26. 05. 2011. Приступљено 06. 02. 2014. 
  15. ^ „Python 2.6 Release”. Python.org. 01. 10. 2008. Приступљено 06. 02. 2014. 
  16. ^ „Python 2.6.9 Release”. Python.org. 29. 10. 2013. Приступљено 06. 02. 2014. 
  17. ^ „Python 2.7 Release”. Python.org. 03. 07. 2010. Приступљено 06. 02. 2014. 
  18. ^ „PEP 373 - Python 2.7 Release Schedule”. Python.org. Приступљено 06. 02. 2014. 
  19. ^ „Python 3.0 Release”. Python.org. 03. 12. 2008. Приступљено 06. 02. 2014. 
  20. ^ „Python 3.0.1 Release”. Python.org. 13. 02. 2009. Приступљено 06. 02. 2014. 
  21. ^ „Python 3.1 Release”. Python.org. 27. 06. 2009. Приступљено 06. 02. 2014. 
  22. ^ „PEP 375 - Python 3.1 Release Schedule”. Python.org. Приступљено 06. 02. 2014. 
  23. ^ „Python 3.2 Release”. Python.org. 20. 02. 2011. Приступљено 06. 02. 2014. 
  24. ^ „PEP 392 - Python 3.2 Release Schedule”. Python.org. Приступљено 06. 02. 2014. 
  25. ^ „Python 3.3.0 Release”. Python.org. 29. 09. 2012. Приступљено 06. 02. 2014. 
  26. ^ „PEP 398 - Python 3.3 Release Schedule”. Python.org. Приступљено 06. 02. 2014. 
  27. ^ „Python 3.4.0 Release”. Python.org. Приступљено 26. 04. 2014. 
  28. ^ „Python 3.5.0 Release”. Python.org. Архивирано из оригинала 19. 09. 2015. г. Приступљено 16. 09. 2015. 
  29. ^ „Python 3.6.0 Release”. Python.org. Приступљено 01. 01. 2017. 
  30. ^ а б „Python Developer’s Guide: Status of Python branches”. Python Software Foundation. Приступљено 19. 09. 2018. 
  31. ^ „Python 3.7 Release Schedule”. Python.org. Приступљено 01. 01. 2017. 
  32. ^ а б „Python 3.8 Release Schedule”. Python.org. Приступљено 02. 07. 2017.