将 Python 代码打包成可执行文件
Packing Python code into executables
情况:由于与我正在处理的 SBC 存在一些兼容性问题,导入 Python 模块时出现问题。希望将它们编译成可执行文件。
问题:我不是很熟悉编译过程是如何工作的。
问题 1:将 Python 代码编译成可执行文件是否会将其所有依赖项打包到可执行文件中? IE。我可以在另一台没有安装 Python 的计算机上 运行 完全相同的代码吗?
问题 2:我可以将 Python 可执行文件作为模块导入并使用其功能吗?
问题 3:如果问题 2 的答案是 "yes",我可以将内置 Python 模块打包成可执行文件并使用它 运行 吗?
Python 是一种解释型语言,因此通常不被认为是编译语言(没有现成的方法可以从一批代码中创建 .exe 或 elf 二进制文件)。有一些工具基本上可以将您的代码与完整的 python 解释器捆绑在一起,并让其他人 运行 将其作为可执行文件。有关这些示例,请参见 cx-freeze、pyinstaller、py2exe。
PyInstaller 非常简单。对于相当简单的捆绑包,您可以
pip install pyinstaller
pyinstaller your_code_entry_point.py
情况:由于与我正在处理的 SBC 存在一些兼容性问题,导入 Python 模块时出现问题。希望将它们编译成可执行文件。
问题:我不是很熟悉编译过程是如何工作的。
问题 1:将 Python 代码编译成可执行文件是否会将其所有依赖项打包到可执行文件中? IE。我可以在另一台没有安装 Python 的计算机上 运行 完全相同的代码吗?
问题 2:我可以将 Python 可执行文件作为模块导入并使用其功能吗?
问题 3:如果问题 2 的答案是 "yes",我可以将内置 Python 模块打包成可执行文件并使用它 运行 吗?
Python 是一种解释型语言,因此通常不被认为是编译语言(没有现成的方法可以从一批代码中创建 .exe 或 elf 二进制文件)。有一些工具基本上可以将您的代码与完整的 python 解释器捆绑在一起,并让其他人 运行 将其作为可执行文件。有关这些示例,请参见 cx-freeze、pyinstaller、py2exe。
PyInstaller 非常简单。对于相当简单的捆绑包,您可以
pip install pyinstaller
pyinstaller your_code_entry_point.py