我正在使用 cx_Freeze 来冻结我的 python 程序。在运行 cx_Freeze 时,会创建一堆 PYD 文件,将一大堆 PYC 文件放入名为 library.zip 的存档中,还有一些 DLL 文件。
有人能告诉我 PYC 和 PYD 文件之间的区别吗?PYD 文件不在 library.zip 中的原因是什么?是否也可以将 PYD 文件放入存档中?
谢谢。
免责声明:我有一段时间没有使用 cx_Freeze ......
.PYD 文件是包含特定 python 所需函数的 DLL 机器代码文件。
.PYC 文件是已编译成字节码的 .py 文件。
所以 PYD 是机器码,PYC 是字节码
现在至于为什么 PYD 不在 .zip 中……我想这是因为 python 解释器需要这些 .PYD 来运行程序。cx_Freeze 所做的基本上是这样的:
所以你实际上并没有编译你的python文件,而是重命名interpeter并冻结所有源文件。
我希望这有帮助。