CPython

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

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

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

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

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

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

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

Unix-типа

  • AIX operating system
  • BSD
  • Darwin
  • FreeBSD
  • HP-UX
  • IRIX 5 и касније (неподржане у 3.x)[6]
  • Plan 9 from Bell Labs
  • Mac OS X
  • NetBSD
  • Linux
  • OpenBSD
  • Solaris
  • Tru64

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

  • GP2X
  • iPodLinux
  • Nintendo DS
  • Nintendo Gamecube
  • Symbian OS Series60
  • Nokia 770 Internet Tablet
  • Nokia N800
  • Nokia N810
  • Nokia N900
  • Palm OS
  • PlayStation 2
  • PlayStation 3 (FreeBSD)
  • Psion
  • QNX
  • Sharp Zaurus
  • Xbox/XBMC
  • VxWorks
  • Openmoko
  • Apple iOS
  • Android
  • BlackBerry 10

Остали

  • AROS
  • VMS
  • OS/2 (неподржано у 3.3)
  • OS/390
  • RISC OS (неподржано у 3.x)
  • Windows XP и касније
  • Windows 2000 (неподржано у 3.3)
  • z/OS

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

ПЕП 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.

  • Amiga: AmigaPython
  • AS/400: iSeriesPython Архивирано на сајту Wayback Machine (15. мај 2008)
  • DOS коришћењем DJGPP: PythonD
  • PlayStation Portable: Пајтон за ПСП
  • Симбијан ОС: Пајтон за С60
  • Windows CE/Pocket PC: Пајтон Windows CE порт

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

Верзија Датум објаве Подржано до
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 harvnb грешка: no target: CITEREFMartelli2006 (help)
  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. 
  • п
  • р
  • у
Пајтон
Имплементације
ИРОТеме
  • WSGI
  • software (list)
  • Python Software Foundation
  • PyCon