Cython是否将导入的模块作为二进制文件的一部分进行编译?

时间:2018-11-21 08:03:29

标签: python cython

我现在正在阅读cython,我想知道cython是否将导入的模块编译为可执行文件的一部分,是否仍然需要在目标计算机上安装模块才能运行cython二进制文件。

1 个答案:

答案 0 :(得分:2)

Cython模块的“接口”保持在Python级别。在Cython中导入模块时,该模块仅在代码的Python级别可用,并使用常规的Python导入机制。

所以:

  1. Cython不会“编译”依赖项。
  2. 您需要在目标计算机上安装依赖项。

对于“ Cython级”代码,包括“ cimporting”模块的问题,Cython使用等效的C标头(.pxd声明文件)和动态加载的库来访问外部代码。 .so文件(对于Linux,对于Windows是DLL,对于Mac是dylib)必须存在于目标计算机上。