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文件中寻找


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM