【发布时间】:2010-05-20 15:55:17
【问题描述】:
我正在使用 cx_Freeze 来冻结我的 python 程序。在运行 cx_Freeze 时,会创建一堆 PYD 文件,将一大堆 PYC 文件放入名为 library.zip 的存档中,其中还有一些 DLL 文件。
谁能告诉我 PYC 和 PYD 文件之间的区别? PYD 文件不在 library.zip 中的原因是什么? 是否也可以将 PYD 文件放入存档中?
谢谢。
【问题讨论】:
我正在使用 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 文件,而是重命名解释器并冻结所有源文件。
我希望这会有所帮助。
【讨论】: