1.环境配置,python3.2装好,编译器我直接用的devcpp的编译器(原因是直接安装就可以,其它的编译器我还不会用),将devcpp的bin目录添加到环境变量path中。
2.准备好your_module.c文件,这是你自己的C语言写的扩展程序,确保你的your_module.c符合python和C的接口要求。
3.python提供了distutils模块用来方便地将c文件转变成pyd文件,也是笔者比较推荐的方法。准备好your_module.c文件后,在同一目录下创建steup.py文件,文件内容如下:
from distutils.core import setup, Extension
module1 = Extension('your_module_name',
sources = ['demo.c'])
setup (name = 'PackageName',
version = '1.0',
description = 'This is a demo package',
ext_modules = [module1])
注意'your_module_name'要跟C文件中PyInit_module函数的'module'一样,否则在后续的步骤中会出错。
4.建立steup.bat文件,内容只有两行:
python.exe setup.py build -c mingw32
pause
5.运行steup.bat文件。
6.如果没有错误,在build\lib.win32-3.2下找到生成的pyd文件,放置到PYTHONPATH的目录中即可被import调用,到此大功告成。注意,python寻找pyd文件不是在sys.path中找,而是在PYTHONPATH指定的目录中找。