CPython
CPython | |
Fejlesztő | Python fejlesztők és a Python közösség az Python Software Foundation támogatásával |
Legfrissebb stabil kiadás | 3.3.3/2013 november 12., 2.7.6/2013 november 10. |
Programozási nyelv | C |
Operációs rendszer | platformfüggetlen |
Platform | platformfüggetlen |
Kategória | Python értelmező |
Licenc | Python Software Foundation Licenc |
A CPython weboldala |
A CPython a python programozási nyelvnek alapértelmezett, leginkább használt implementációja, amelyet C nyelven írtak. A CPython mellett léteznek más magas minőségű Python megvalósítások is: Jython, amelyet Java nyelven írtak, PyPy, illetve az IronPython, melyet CLI-ben írtak. Ezeken kívül létezik még több kísérleti megvalósítás is.[1]
A CPython egy bájtkód értelmező. Létezik hozzá külső függvény interfész számos nyelven, beleértve a C-t is, melyben explicit módon írhatunk kötéseket (angolul bindings) Python-tól különböző nyelven.
Támogatott platformok[2]
[szerkesztés]
|
|
|
Régebben támogatott platformok
[szerkesztés]A PEP 11 lista azon platformokról, amelyek nem támogatják a CPythont (zárójelben a verzió, amelytől kezdve nem támogatott). Ezek közül néhány platformon továbbra is lehetséges a Pythont használni portolással. Lásd alább:
- 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)
Portolással elérhető rendszerek
[szerkesztés]Ezek a rendszerek nem támogatottak a Python Software Foundation hivatalos CPython verziójában. Portolt Python verziók (lentebb) gyakran tartalmaznak további platform specifikus funkciókat, mint a grafika és hang API (PSP-nél) és SMS, valamint a kamera API S60-nál.
- Amiga: AmigaPython
- AS/400: iSeriesPython
- DOS, DJGPP használatával: PythonD
- PlayStation Portable: Stackless Python for PSP
- Symbian: Python for S60 Archiválva 2011. július 18-i dátummal a Wayback Machine-ben
- Windows CE/Pocket PC: Python Windows CE port
Egyidejűség kérdése
[szerkesztés]A jelentős hátránya a CPython használatának a Globális Interpreter Zárolás (angol rövidítéssel GIL) jelenléte minden CPython értelmező folyamatban, amely gyakorlatilag letiltja egyidejű Python szálak futtatását egy folyamaton belül.[3] Az igazán párhuzamos a multitasking-hoz, külön CPython folyamatot kell futtatni, amelyek között a kommunikáció kivitelezése egy nehéz feladat, de a multiprocess modul csökkenti ezt hátrányt, kissé. Sok vita zajlott arról, hogy eltávolítsák a GIL-t a CPythonból, még azután is, hogy elutasítottak egy Greg Stein által kiadott CPyton patchet, amely hatékonyan helyettesíti a GIL-t egy „finom szemcséjű” zárolásral.[4]
Verziótörténet
[szerkesztés]Verzió | Kiadás | Támogatás | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
2.2 | 2001-12-21[5] | 2003-05-30[6] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
2.3 | 2003-07-29[7] | 2008-03-11[8] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
2.4 | 2004-11-30[9] | 2008-12-19[10] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
2.5 | 2006-09-19[11] | 2011-05-26[12] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
2.6 | 2008-10-01[13] | 2013-10-29[14] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
2.7 | 2010-07-03[15] | 2015 (legalább)[16] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
3.0 | 2008-12-03[17] | 2009-06-27[18] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
3.1 | 2009-06-27[19] | 2014-06[20] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
3.2 | 2011-02-20[21] | 2016-02[22] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
3.3 | 2012-09-29[23] | 2017-09[24] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
3.4 | 2014-02-23[25] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Régi verzió Régebbi verzió, támogatott Legújabb verzió Jövőbeli kiadás
|
Jegyzetek
[szerkesztés]- ↑ Martelli, Alex. Python in a Nutshell, 2. kiadás, O'Reilly, 5–7. o. (2006). ISBN 978-0-596-10046-9
- ↑ PythonImplementations. (Hozzáférés: 2012. július 19.)
- ↑ Python/C API Reference Manual: Thread State and the Global Interpreter Lock. [2008. szeptember 14-i dátummal az eredetiből archiválva]. (Hozzáférés: 2009. május 30.)
- ↑ Library and Extension FAQ. Python v3.3.0 documentation. Python Software Foundation. [2013. március 4-i dátummal az eredetiből archiválva].
- ↑ http://www.python.org/download/releases/2.2/
- ↑ http://www.python.org/download/releases/2.2.3/
- ↑ http://www.python.org/download/releases/2.3/
- ↑ http://www.python.org/download/releases/2.3.7/
- ↑ http://www.python.org/download/releases/2.4/
- ↑ http://www.python.org/download/releases/2.4.6/
- ↑ http://www.python.org/download/releases/2.5/
- ↑ http://www.python.org/download/releases/2.5.6/
- ↑ http://www.python.org/download/releases/2.6/
- ↑ http://www.python.org/download/releases/2.6.9/
- ↑ http://www.python.org/download/releases/2.7/
- ↑ http://www.python.org/dev/peps/pep-0373/
- ↑ http://www.python.org/download/releases/3.0/
- ↑ http://www.python.org/download/releases/3.0.1/
- ↑ http://www.python.org/download/releases/3.1/
- ↑ http://www.python.org/dev/peps/pep-0375/
- ↑ http://www.python.org/download/releases/3.2/
- ↑ http://www.python.org/dev/peps/pep-0392/
- ↑ http://www.python.org/download/releases/3.3.0/
- ↑ http://www.python.org/dev/peps/pep-0398/
- ↑ http://www.python.org/dev/peps/pep-0429/
Fordítás
[szerkesztés]Ez a szócikk részben vagy egészben a CPython című angol Wikipédia-szócikk ezen változatának fordításán alapul. Az eredeti cikk szerkesztőit annak laptörténete sorolja fel. Ez a jelzés csupán a megfogalmazás eredetét és a szerzői jogokat jelzi, nem szolgál a cikkben szereplő információk forrásmegjelöléseként.