我正在学习如何将 gmpy2 与 Cython 集成。从 docs中,我得到了一个示例代码。由于我不确定发生了什么,我觉得我可以通过使用提供的示例代码来学习如何在 Cython 中使用 gmpy。
示例代码:
setup.py
"A minimal setup.py for compiling test_gmpy2.pyx"
from distutils.core import setup
from distutils.extension import Extension
from Cython.Build import cythonize
import sys
ext = Extension("test_gmpy2", ["test_gmpy2.pyx"], include_dirs=sys.path, libraries=['gmp', 'mpfr', 'mpc'])
setup(
name="cython_gmpy_test",
ext_modules=cythonize([ext], include_path=sys.path)
)
test_gmpy2.pyx
"A minimal cython file test_gmpy2.pyx"
from gmpy2 cimport *
cdef extern from "gmp.h":
void mpz_set_si(mpz_t, long)
import_gmpy2() # needed to initialize the C-API
cdef mpz z = GMPy_MPZ_New(NULL)
mpz_set_si(MPZ(z), -7)
print(z + 3)
运行 setup.py 给我这个错误:
fatal error C1083: Cannot open include file: 'gmp.h': No such file or directory
怎么了?我如何解决它?我检查了我的 gmpy 安装。我相信它没有任何问题。