如何让py生成pyd
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文件中去的。