将几个Python脚本打包为Linux可执行文件

2 投票
1 回答
1594 浏览
提问于 2025-04-17 16:46

我有一个文件夹,里面放着一些Python库和资源,比如一些可以在Unix系统上运行的脚本,这些脚本是通过subprocess模块来调用的,参数也不一样,总共有10到12个.py文件和可执行文件。其中有一个文件负责引入其他文件,并作为整个工具的命令行接口(它的开头是#!/usr/bin/env python,可以直接执行)。

我想知道能不能把这些文件打包成一个单独的可执行文件,这样在使用的机器上就能更方便地传输(我会创建一个make文件来处理这个过程)?

我找到了一种叫py2exe的工具,但它只适用于Windows的可执行文件。欢迎任何建议。

1 个回答

1

你可以试试 pyinstaller,这个工具支持 Linux、Windows 和 Mac 系统。你可以在这里找到它:http://www.pyinstaller.org

下载最新版本(2.0)并解压后,你可以按照下面的方式来编译一组 *.py 文件,记得要在 pyinstaller 的路径下操作:

>>> python pyinstaller.py [opts] path_to_yourprogram.py

如果你想把所有内容打包成一个单独的文件,可以使用:

>>> python pyinstaller.py --onefile path_to_yourprogram.py

在 "path_to_yourprogram.py" 里,你需要填入你的 Python 程序的路径,这个程序会包含其他的文件。

就这样!pyinstaller 会把你的 *.py 文件编译成一个可执行文件。不过,由于你可能还有其他资源,比如其他的可执行文件,所以你可能还需要把这些额外的资源和 pyinstaller 生成的主可执行文件一起分发。

撰写回答