【发布时间】:2018-02-12 03:00:18
【问题描述】:
情况:由于我正在处理的 SBC 存在一些兼容性问题,导致导入 Python 模块时出现问题。希望将它们编译成可执行文件。
问题:我对编译过程的工作原理不是很熟悉。
问题 1:将 Python 代码编译成可执行文件是否会将其所有依赖项打包到可执行文件中? IE。我可以在没有安装 Python 的不同计算机上运行完全相同的代码吗?
问题 2:我可以像模块一样导入 Python 可执行文件并使用它的功能吗?
问题 3:如果问题 2 的答案是“是”,我可以将内置 Python 模块打包成可执行文件并让它运行吗?
【问题讨论】:
-
Python 是一种解释性语言,因此通常不被认为是可编译的(没有现成的方法可以从一批代码中创建 .exe 或 elf 二进制文件)。有一些工具基本上会将您的代码与完整的 python 解释器捆绑在一起,并让其他人将其作为可执行文件运行。有关这些示例,请参见 cx-freeze、pyinstaller、py2exe。
-
那么所有的导入都将在生成的可执行文件中一起编译?
-
是的,但您将无法从生成的捆绑包中导入任何内容。
-
好的。谢谢。您想将其发布为答案,我会接受吗?
-
是的,但总的来说,我建议您查看有关提出好的、有针对性的问题以供将来参考的文档;)
标签: python executable