【问题标题】:Packing Python code into executables将 Python 代码打包成可执行文件
【发布时间】: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


【解决方案1】:

Python 是一种解释型语言,因此通常不被认为是可编译的(没有现成的方法可以从一批代码创建 .exe 或 elf 二进制文件)。有一些工具基本上会将您的代码与完整的 python 解释器捆绑在一起,并让其他人将其作为可执行文件运行。有关这些示例,请参见 cx-freeze、pyinstaller、py2exe。

PyInstaller 非常简单。对于一个相当简单的捆绑包,您可以

pip install pyinstaller
pyinstaller your_code_entry_point.py

查看their docs for OS specific requirements 和详细信息

【讨论】:

    猜你喜欢
    • 2015-11-16
    • 1970-01-01
    • 2021-08-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-26
    • 1970-01-01
    • 2020-07-12
    相关资源
    最近更新 更多