4

我想用 Python 写一个性能敏感的应用程序,所以在 PyPy 下执行它是一个自然的选择。但是,我的代码中有很大一部分依赖于 numpy、scipy 和 scikit-learn。是否可以在运行的 PyPy 程序中嵌入 CPython 实例以调用面向数组的代码?如果没有,让 PyPy 和 CPython 相互交流的最简单方法是什么?

4

2 回答 2

4

你暂时最好的选择是Cython而不是 PyPy。如果您添加类型声明,它具有 c 级性能,并且与 numpy 等完美集成。

人们目前正在努力让它与 PyPy 一起工作,但这还有很长的路要走。

于 2011-10-19T16:56:35.320 回答
2

不,你不能在 PyPy AFAIK 中嵌入 CPython。但是,您可以使用分布式/并行执行系统使 PyPy 与 CPython 对话。execnet和Pyro提到了这个精确的用例。Python Wiki 的Parallel Processing页面中的其他包可能也适用。PyPy <-> CPython

此外,正如 delnan 所提到的,目前正在讨论PyPy 开发人员在 PyPy 中实施 Numpy的计划(目前还不包括对 scipy 和 scikit.learn 的支持)。

于 2011-10-19T22:27:31.497 回答