Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我能把CPython嵌入pypypy吗?_Python_Numpy_Cython_Cpython_Pypy - Fatal编程技术网

我能把CPython嵌入pypypy吗?

我能把CPython嵌入pypypy吗?,python,numpy,cython,cpython,pypy,Python,Numpy,Cython,Cpython,Pypy,我想用Python编写一个性能敏感的应用程序,所以在PyPy下执行它是一个自然的选择。然而,我的代码有很大一部分依赖于numpy、scipy和scikit学习。为了调用面向数组的代码,是否可以在运行的PyPy程序中嵌入一个CPython实例?如果没有,让PyPy和CPython互相交谈的最简单方法是什么 目前,你最好的选择不是派比。如果添加类型声明,它具有c级性能,并且与numpy等进行了极好的集成 目前,人们正在努力使它与PyPy配合良好,但这还有很长的路要走。不,你不能将CPython嵌入P

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

目前,你最好的选择不是派比。如果添加类型声明,它具有c级性能,并且与numpy等进行了极好的集成


目前,人们正在努力使它与PyPy配合良好,但这还有很长的路要走。

不,你不能将CPython嵌入PyPyAfaik中。但是,您可以使用分布式/并行执行系统使PyPy与CPython对话。两者都提到了这个精确的
PyPy-CPython
用例。pythonwiki页面上的其他包可能也适用


此外,正如delnan提到的,还有关于PyPy开发者的计划(目前还不包括对scipy和scikit.learn的支持)。

顺便说一句:您可能对PyPy开发列表上当前活跃的“PyPy+numpy项目问题”线程感兴趣,该线程涉及到使用scipy on(当前版本的)的问题PyPy和我认为有人建议了一种解决方法来让它工作(也使用CPython,但在单独的进程中)。不过请注意:如果您编写C,它只有C级性能,仅在现有Python代码上运行它并没有什么好处。这意味着对您的代码、您使用的类型和API、仔细放置的类型注释以及可能的一些手动内存管理的限制。当然,Cython仍然是一个很好的选择,尤其是在NumPy集成方面。它并不是所有Pythonity的救世主。是的,我应该提到,从Python到Cython的惰性代码转储与PyPy不同,不会给您带来任何好处。但是,您不需要“编写C”。您可以使用类型声明编写Cython,也许还需要注意内存管理。我发现,仅在代码中使用类型声明就可以非常容易地获得巨大的加速,而代码本身就是普通的老Python。它仍然感觉像Python。