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.

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

Unix-szerű rendszerek AIX operációs rendszer BSD Darwin FreeBSD HP-UX IRIX 5 és későbbi Plan 9 from Bell Labs Mac OS X NetBSD Linux OpenBSD Solaris Tru64 Egyéb Unixok

Speciális rendszerek 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 (Linux) Psion QNX Sharp Zaurus Xbox/XBMC VxWorks Openmoko iOS Android

Egyéb rendszerek AROS VMS OS/2 (3.3 nem támogatott) OS/390 RISC OS (3.x nem támogatott) Windows XP/Vista/7/8 Windows 2000 (3.3 nem támogatott) z/OS

Régebben támogatott platformok 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 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 Windows CE/Pocket PC: Python Windows CE port

Egyidejűség kérdése

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

Verziótörténet Verzió Kiadás Támogatás2.2 2001-12-21http://www.python.org/download/releases/2.2/ 2003-05-30http://www.python.org/download/releases/2.2.3/2.3 2003-07-29http://www.python.org/download/releases/2.3/ 2008-03-11http://www.python.org/download/releases/2.3.7/2.4 2004-11-30http://www.python.org/download/releases/2.4/ 2008-12-19http://www.python.org/download/releases/2.4.6/2.5 2006-09-19http://www.python.org/download/releases/2.5/ 2011-05-26http://www.python.org/download/releases/2.5.6/2.6 2008-10-01http://www.python.org/download/releases/2.6/ 2013-10-29http://www.python.org/download/releases/2.6.9/2.7 2010-07-03http://www.python.org/download/releases/2.7/ 2015 (legalább)http://www.python.org/dev/peps/pep-0373/3.0 2008-12-03http://www.python.org/download/releases/3.0/ 2009-06-27http://www.python.org/download/releases/3.0.1/3.1 2009-06-27http://www.python.org/download/releases/3.1/ 2014-06http://www.python.org/dev/peps/pep-0375/3.2 2011-02-20http://www.python.org/download/releases/3.2/ 2016-02http://www.python.org/dev/peps/pep-0392/3.3 2012-09-29http://www.python.org/download/releases/3.3.0/ 2017-09http://www.python.org/dev/peps/pep-0398/3.4 2014-02-23http://www.python.org/dev/peps/pep-0429/Régi verzióRégebbi verzió, támogatottLegújabb verzióJövőbeli kiadás

Jegyzetek

Fordítás

Kategória:Szoftverek Kategória:Programozási nyelvek