Cython 是否将导入的模块编译为二进制文件的一部分?
Does Cython compile imported modules as part of the binary?
我正在阅读 cython,我想知道 cython 是否将导入的模块编译为可执行文件的一部分,或者您是否仍需要将模块安装在目标机器上以 运行 cython二进制。
Cython 模块的 "interface" 保持在 Python 级别。当您在 Cython 中导入模块时,该模块仅在代码的 Python 级别可用,并使用常规 Python 导入机制。
所以:
- Cython 没有 "compile in" 依赖项。
- 您需要在目标 machine 上安装依赖项。
对于"Cython level"代码,包括"cimporting"模块的问题,Cython使用等效的C头文件(.pxd
声明文件)和动态加载的库来访问外部代码。 .so
文件(Linux、windows 的 DLL 和 mac 的 dylib)需要存在于目标 machine 上。
我正在阅读 cython,我想知道 cython 是否将导入的模块编译为可执行文件的一部分,或者您是否仍需要将模块安装在目标机器上以 运行 cython二进制。
Cython 模块的 "interface" 保持在 Python 级别。当您在 Cython 中导入模块时,该模块仅在代码的 Python 级别可用,并使用常规 Python 导入机制。
所以:
- Cython 没有 "compile in" 依赖项。
- 您需要在目标 machine 上安装依赖项。
对于"Cython level"代码,包括"cimporting"模块的问题,Cython使用等效的C头文件(.pxd
声明文件)和动态加载的库来访问外部代码。 .so
文件(Linux、windows 的 DLL 和 mac 的 dylib)需要存在于目标 machine 上。