如何使用 Nuitka 将 jsonpickle(一个 Python 库)编译为 C/C++?

How to use Nuitka to compile jsonpickle (a Python lib) to C/C++?

我正在使用 jsonpickle in my program, but found it to be a performance bottleneck. So I'm trying to see if I can compile it to C using Nuitka,然后在我的程序中使用 C 版本(也许通过一些包装器)。

但老实说,我是 Nuitka 的新手,所以我什至不知道这是否是一个合法的用例。有人可以给我一些提示吗?

注意:这个问题不是关于如何使程序更快的问题。我正在构建一个库,而不是一个应用程序,所以像 Pypy 这样的某些方法是行不通的。我也知道 Cython 并且也在调查它,但是这个问题也不是关于 Cython 的。

我自己想出来了。只需 git 克隆 repo,进入目录,然后 运行

python -m nuitka --module jsonpickle --include-package=jsonpickle

Nuitka会生成一个.so文件,您可以像原包一样导入使用

这个方法应该是通用的,可以适用于任何包,而不仅仅是 jsonpickle。

请注意,Nuitka 旨在用于应用程序,但不适合构建库。主要痛点在于doesn't support cross-compilation.