在参考了https://www.cnblogs.com/navysummer/p/10648520.html#commentform
中的内容,对使用Python/C API(原文中第三种方式)进行复现时,遇到了如下问题:
error1:include<Python.h> no such file or directory
error2: long elem = PyInt_AsLong(temp);中应该使用PyLong_AsLong(temp);
error3: XXXX.so undefined InitModule3
对于error1,解决如下:
该作者的实验环境是Python2.7,应该执行如下命令安装python-dev:
sudo apt-get install python-dev
对于error2,解决如下:
修改long elem = PyInt_AsLong(temp);
为long elem = PyLong_AsLong(temp);
对于error3,解决如下:
是因为Python3中不再支持Py_InitModule3,用Python2.7能达到实验效果。