2012-02-01 56 views
3

我是Jython/Python世界的新手。我试图在Jython中安装多处理包。不过我是从的easy_install在Jython中使用多处理2.6.2.1包

Setup script exited with error: Compiling extensions is not supported on Jython 

得到下面的返回信息有什么办法,我可以用Jython安装这个包?

回答

5

如果multiprocessing需要C扩展,即无法禁用它们,并且未在Java /纯Python中为Jython重新实现该模块,则不能使用它。自Python 2.6以来,multiprocessing模块包含在stdlib中。目前的Jython支持Python 2.5。

Jython中没有GIL,因此在CPython中使用multiprocessing的许多情况下都可以使用threading

+0

线程是要走的路。 – sarwar 2012-02-01 21:53:26

2

几年前,我和多处理作者(Jesse Noller)谈到了在Jython中包含多处理版本的敏感性。他的回应类似于J.F. Sebastian发表的一篇文章 - 多处理模块旨在替代线程模块,作为绕过CPython的GIL的一种方式。由于Jython没有GIL,因此支持多处理是没有意义的。

+0

我不同意*“支持多处理是没有意义的”*。 'multiprocessing'使用进程,因此它默认提供了更好的隔离,它允许通过网络与不同主机上的进程进行通信。 – jfs 2016-03-26 16:43:33

+0

它与现有代码的兼容性很有意义。 – alanjds 2016-09-26 19:11:43