python 转 pyd、so文件

需要使用的库

pip install cython

创建测试代码

  • hanota.pyx(注意文件的后缀名为“pyx”)
def move(n,a,b,c):
    if n==1:
        print (a,'-->',c)
    else:
        move(n-1,a,c,b)
        move(1,a,b,c)
        move (n-1,b,a,c)
  • setup.py
from setuptools import setup
from Cython.Build import cythonize

setup(ext_modules=cythonize('./*.pyx'), language='3')

编译(cmd)

# 查看帮助
# python setup.py --help
python setup.py build_ext --inplace

编译结果

创建测试文件

test_pyd.py

from hanota import move

move(3, 'A', 'B', 'C')

将源文件修改为“.pyx”的原因

  import只会从后缀为.py/.pyc/.pyo/.so/.pyd的文件中导入模块,不会进入.pyx文件中寻找

posted @ 2020-05-11 09:50  sfdevs  阅读(786)  评论(0)    收藏  举报