CPython

Python參考實作

CPython是用C语言实现的Python解释器。作为官方实现,它是最广泛使用的Python解释器。除了CPython以外,还有用Java实现的Jython,用.NET实现的IronPython,使Python方便地和Java程序、.NET程序集成。另外还有一些实验性的Python解释器比如PyPy[1]

CPython
原作者Guido van Rossum
开发者Python Software Foundation
首次发布1994年1月26日,​30年前​(1994-01-26
当前版本
  • 3.13.0(2024年10月7日;稳定版本)[1]
编辑维基数据链接
源代码库 编辑维基数据链接
编程语言C
平台跨平台
类型Python程式语言直译器
许可协议Python软件基金会许可证
网站Python.org

CPython是使用字节码解释器,任何程序源代码在执行之前先要编译成字节码。它还有和几种其它语言(包括C语言)交互的外部函数接口

支持的平台

类Unix

* AIX
* BSD
* Darwin
* FreeBSD
* HP-UX
* IRIX 5以及更高版本
* 九号计画
* Mac OS X
* NetBSD
* Linux
* OpenBSD
* Solaris
* Tru64
*其它Unix
桌面操作系统

* AROS
* AtheOS
* BeOS
* Windows
* Windows NT
* OS/2
* RISC OS
特殊的和嵌入式

* GP2X
* iPodLinux
* Nintendo DS
* Nintendo Gamecube
* Symbian OS Series60
* Nokia 770 Internet Tablet
* Nokia N800
* Nokia N810
* Palm OS
* PlayStation 2
* PlayStation 3(Linux)
* Psion
* QNX
* Sharp Zaurus
* Xbox/XBMC
* VxWorks
* Openmoko
大型机和其它

* OS/390
* VMS
* z/OS

曾经支持的平台

PEP 11页面存档备份,存于互联网档案馆)列出了CPython停止支持的平台。

  • DOS(2.0开始停止支持)
  • IRIX 4(2.3开始停止支持)
  • Mac OS 9(2.4开始停止支持)
  • MINIX(2.3开始停止支持)

非官方的移植

这些版本没有进入Python软件基金会的官方版本,这些版本包含了为特定平台提供的模块,如为PSP提供的图像和声音API以及为S60提供的SMS和照相机API。

并发问题

多处理器的计算机上使用CPython的主要问题来自CPython的全局解释器锁(Global Interpreter Lock,GIL),它使得CPython不能进行并发编程。[2]要做到并发编程,就必须为每一个线程运行一个解释器。如果这样的话,它们之间的通讯就非常困难。所以社区内一直在讨论是否要从CPython中去除GIL。[3]

注释

  1. ^ Martelli, Alex. Python in a Nutshell 2nd edition. O'Reilly. 2006: 5–7. ISBN 0-596-10046-9. 

参考

延伸阅读

外部链接