何时使用替代的 Python 发行版?
我用 Python 编程已经有几年了,并且一直不假思索地使用 CPython。我读过的书籍和文档也总是提到 CPython。
什么时候使用替代发行版(PyPy、Stackless 等)有意义?
谢谢!
I have been programming in Python for a few years now and have always used CPython without thinking about it. The books and documentation I have read always refer to CPython too.
When does it make sense to use an alternative distribution (PyPy, Stackless, etc)?
Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果您需要与 JVM 进行本机接口,请使用 Jython。
当您需要与 .Net 平台进行本机接口或想要使用 Winforms 时,请使用 IronPython。
如果您需要最新版本、跨操作系统支持,请使用仅适用于 CPython 的现有基于 C 的模块,使用它。
如果您正在考虑提出一个实用的 PEP,那么使用 Pypy 路线可能会很有用。
如果你需要做一些 Python 难以做到的事情(即微线程),你可以去 Stackless 方式,或任何其他语言(Haskel 等)。
替代实现总是落后于 CPython,现在大多数都以 2.5 为目标。
Jython 和 IronPython 都是将 Python 潜入仅 MS 或仅 Java 商店的好方法,通常是通过它们进行单元测试。
If you need native interfacing with the JVM, use Jython.
When you need native interfacing with the .Net platform, or want to use Winforms, use IronPython.
If you need the latest version, cross-OS support, make use of existing C-based modules existing only for CPython, the use it.
If you are thinking into proposing a functional PEP, going the Pypy route could be useful.
If you need to do something that Python makes hard (i.e. microthreading), you could go the Stackless way, or any other language (Haskel, etc.).
The alternative implementations are always behind CPython, most now target 2.5.
Both Jython and IronPython are good ways to sneak in Python into MS-only or Java-only shops, generally through their use for unittests.
我认为何时使用 IronPython 还是 Jython 已经很清楚了。如果您想在 CLR/JVM 上使用 Python,作为 C#/Java 应用程序的主要语言或脚本语言。
I think it's clear when to use IronPython or Jython. If you want to use Python on CLR/JVM, either as the main language or a scripting language for your C#/Java application.