- Not to be confused with Cython.
CPython is the default, most-widely used implementation of the Python programming language. It is written in C. In addition to CPython, there are two other production-quality Python implementations: Jython, written in Java, and IronPython, which is written for the Common Language Runtime. There are also several experimental implementations.[1]
CPython is a bytecode interpreter. It has a foreign function interface with several languages including C, in which one must explicitly write bindings in a language other than Python.
[edit] Supported platforms
- Unix-like
|
- Desktop OSes
|
- Special and embedded
|
- Mainframe and other
|
[edit] Previously supported platforms
PEP 11 lists platforms which are not supported in CPython by Python Software Foundation. These platforms can still be supported by external ports. See below.
[edit] External ports
These are ports not integrated to Python Software Foundation's official version of CPython, with links to its main development site. Ports often include additional modules for platform-specific functionalities, like graphics and sound API for PSP and SMS and camera API for S60.
[edit] Concurrency issues
A significant drawback to using CPython on a multitasking computer is the presence of a Global Interpreter Lock on each CPython interpreter process, which effectively disables concurrent Python threads within one process.[1] To be truly concurrent in multitasking environment, separate CPython interpreter processes have to be run, which makes establishing communication between them a difficult task, though the multiprocessing module mitigates this somewhat. There is constant discussion whether to remove the GIL from CPython.[2]
- ^ Martelli, Alex (2006). Python in a Nutshell (2nd edition ed.). O'Reilly. pp. 5–7. ISBN 978-0-596-10046-9.
[edit] References
|
|
|
| Implementations |
|
|
| Frameworks |
|
|
| IDE |
|
|
|
|
|