.pyx 文件是由 Cython 编程语言 “编写” 而成的 Python 扩展模块源代码文件。
.pyx 文件类似于 C 语言的 .c 源代码文件,.pyx 文件中有 Cython 模块的源代码。
不像 Python 语言可直接解释使用的 .py 文件,.pyx 文件必须先被编译成 .c 文件,再编译成 .pyd (Windows 平台) 或 .so (Linux 平台) 文件,才可作为模块 import 导入使用
pyx转pyd(windows):
1.建立setup.py文件,内容如下
#!/usr/bin/python
import sys
import numpy as np
sys.path.insert(0, “…”)
from distutils.core import setup
from distutils.extension import Extension
from Cython.Build import cythonize
from Cython.Distutils import build_ext
ext_module = Extension(
"compute_overlap",
[“compute_overlap.pyx”],#要转换的pyx文件
extra_compile_args=["/openmp"],
extra_link_args=["/openmp"],
)
setup(
cmdclass={‘build_ext’: build_ext},
ext_modules=[ext_module],
include_dirs=[np.get_include()]
)
2.在要转换的pyx文件目录下执行如下命令,即可生成pyd文件
python setup.py build_ext --inplace