将几个Python脚本打包为Linux可执行文件
我有一个文件夹,里面放着一些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 生成的主可执行文件一起分发。