【发布时间】:2018-11-21 08:03:28
【问题描述】:
我现在正在阅读 cython,我想知道 cython 是否将导入的模块编译为可执行文件的一部分,如果您仍然需要在目标机器上安装模块来运行 cython 二进制文件。
【问题讨论】:
我现在正在阅读 cython,我想知道 cython 是否将导入的模块编译为可执行文件的一部分,如果您仍然需要在目标机器上安装模块来运行 cython 二进制文件。
【问题讨论】:
Cython 模块的“接口”保留在 Python 级别。当您在 Cython 中导入模块时,该模块仅在代码的 Python 级别可用,并使用常规 Python 导入机制。
所以:
对于“Cython 级别”代码,包括“cimporting”模块的问题,Cython 使用等效的 C 头文件(.pxd 声明文件)和动态加载的库来访问外部代码。 .so 文件(适用于 Linux,适用于 windows 的 DLL 和适用于 mac 的 dylib)需要存在于目标计算机上。
【讨论】: