CPython
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-типа
- 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] |
Референце
уреди- ^ History and License — Python v2.7.3 documentation, Приступљено 23. 4. 2013.
- ^ Martelli 2006
- ^ "Initialization, Finalization, and Threads — Python v2.7.6 documentation".
- ^ "Library and Extension FAQ".
- ^ "PythonImplementations".
- ^ „Irix still supported?”.
- ^ „Python 2.2”. Python.org. Приступљено 06. 02. 2014.
- ^ „Python 2.2.3”. Python.org. Приступљено 06. 02. 2014.
- ^ „Python 2.3”. Python.org. 29. 07. 2003. Приступљено 06. 02. 2014.
- ^ „Python 2.3.7 Release”. Python.org. 11. 03. 2008. Приступљено 06. 02. 2014.
- ^ „Python 2.4”. Python.org. 30. 11. 2004. Приступљено 06. 02. 2014.
- ^ „Python 2.4.6 Release”. Python.org. 19. 12. 2008. Приступљено 06. 02. 2014.
- ^ „Python 2.5 Release”. Python.org. 19. 09. 2006. Приступљено 06. 02. 2014.
- ^ „Python 2.5.6”. Python.org. 26. 05. 2011. Приступљено 06. 02. 2014.
- ^ „Python 2.6 Release”. Python.org. 01. 10. 2008. Приступљено 06. 02. 2014.
- ^ „Python 2.6.9 Release”. Python.org. 29. 10. 2013. Приступљено 06. 02. 2014.
- ^ „Python 2.7 Release”. Python.org. 03. 07. 2010. Приступљено 06. 02. 2014.
- ^ „PEP 373 - Python 2.7 Release Schedule”. Python.org. Приступљено 06. 02. 2014.
- ^ „Python 3.0 Release”. Python.org. 03. 12. 2008. Приступљено 06. 02. 2014.
- ^ „Python 3.0.1 Release”. Python.org. 13. 02. 2009. Приступљено 06. 02. 2014.
- ^ „Python 3.1 Release”. Python.org. 27. 06. 2009. Приступљено 06. 02. 2014.
- ^ „PEP 375 - Python 3.1 Release Schedule”. Python.org. Приступљено 06. 02. 2014.
- ^ „Python 3.2 Release”. Python.org. 20. 02. 2011. Приступљено 06. 02. 2014.
- ^ „PEP 392 - Python 3.2 Release Schedule”. Python.org. Приступљено 06. 02. 2014.
- ^ „Python 3.3.0 Release”. Python.org. 29. 09. 2012. Приступљено 06. 02. 2014.
- ^ „PEP 398 - Python 3.3 Release Schedule”. Python.org. Приступљено 06. 02. 2014.
- ^ „Python 3.4.0 Release”. Python.org. Приступљено 26. 04. 2014.
- ^ „Python 3.5.0 Release”. Python.org. Архивирано из оригинала 19. 09. 2015. г. Приступљено 16. 09. 2015.
- ^ „Python 3.6.0 Release”. Python.org. Приступљено 01. 01. 2017.
- ^ а б „Python Developer’s Guide: Status of Python branches”. Python Software Foundation. Приступљено 19. 09. 2018.
- ^ „Python 3.7 Release Schedule”. Python.org. Приступљено 01. 01. 2017.
- ^ а б „Python 3.8 Release Schedule”. Python.org. Приступљено 02. 07. 2017.