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]

CPyton
250px
Fibonnacci-Python.png

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.
Legfrissebb fejlesztői kiadásismeretlen +/-
Programozási nyelv C
Operációs rendszer platformfüggetlen
Kategória Python értelmező
Licenc Python Software Foundation Licenc
A CPyton weboldala

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

Unix-szerű rendszerek

Speciális rendszerek

Egyéb rendszerek

Régebben támogatott platformokSzerkeszté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:

Portolással elérhető rendszerekSzerkeszté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.

Egyidejűség kérdéseSzerkeszté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énetSzerkeszté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

JegyzetekSzerkesztés

  1. Martelli, Alex. Python in a Nutshell, 2. kiadás, O'Reilly, 5–7. o. (2006). ISBN 978-0-596-10046-9 
  2. PythonImplementations. (Hozzáférés: 2012. július 19.)
  3. 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.)
  4. Library and Extension FAQ. Python v3.3.0 documentation. Python Software Foundation. [2013. március 4-i dátummal az eredetiből archiválva].
  5. http://www.python.org/download/releases/2.2/
  6. http://www.python.org/download/releases/2.2.3/
  7. http://www.python.org/download/releases/2.3/
  8. http://www.python.org/download/releases/2.3.7/
  9. http://www.python.org/download/releases/2.4/
  10. http://www.python.org/download/releases/2.4.6/
  11. http://www.python.org/download/releases/2.5/
  12. http://www.python.org/download/releases/2.5.6/
  13. http://www.python.org/download/releases/2.6/
  14. http://www.python.org/download/releases/2.6.9/
  15. http://www.python.org/download/releases/2.7/
  16. http://www.python.org/dev/peps/pep-0373/
  17. http://www.python.org/download/releases/3.0/
  18. http://www.python.org/download/releases/3.0.1/
  19. http://www.python.org/download/releases/3.1/
  20. http://www.python.org/dev/peps/pep-0375/
  21. http://www.python.org/download/releases/3.2/
  22. http://www.python.org/dev/peps/pep-0392/
  23. http://www.python.org/download/releases/3.3.0/
  24. http://www.python.org/dev/peps/pep-0398/
  25. http://www.python.org/dev/peps/pep-0429/

FordításSzerkeszté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.