首页 > 技术文章 > 如何让py生成pyd

smart-zihan 2021-02-01 11:20 原文

pyd文件类似于C++中的dll,可以编译,但是看不到源代码。

py转换成pyd参考链接:https://blog.csdn.net/weixin_44493841/article/details/107022446

 

准备工作:

第一步:安装easycython库

pip install easycython

第二步:写一个需要转换成pyd的py文件,比如To_pyd.py

def test():
    print("Test .pyd function")

 

 

第三步:写一个调用此py的另一个py文件,比如main.py

import To_pyd


def main():
    To_pyd.test()


if __name__ == '__main__':
    main()

 

 

准备工作做好后,接下来就是把To_pyd.py转换成To_pyd.pyd了。

 

转换步骤:

第一步:将To_pyd.py改名为To_pyd.pyx

第二步:打开cmd窗口,进入文件所在目录,输入以下命令。

easycython *.pyx

第三步:可以看到以下目录结构。

 

注意:运行main.py执行的就是To_pyd.pyd的函数,而不是执行To_pyd.py里面的函数了。

可以做个小实验,删掉To_pyd.py文件,main.py依旧可以运行,然后新建一个To_pyd.py文件,里面打印其他东西,但是运行结果还是之前To_pyd.pyd的结果。不过一个有趣的现象是,如果你ctrl+鼠标左键跳转的话,会跳转到To_pyd.py文件里面去,即使打印的东西不一样。另外如果有To_pyd.pyi文件的话,也是会跳转到To_pyd.pyi文件中去的。

 

推荐阅读