2012-02-01 87 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