如何将简单的单文件Python脚本打包给愿意付费的人?

5 投票
1 回答
1368 浏览
提问于 2025-04-16 02:48

有一个人(一个正在学习电脑基础知识的老年人)请我帮他做一个程序,目的是为了节省他在一些繁琐工作上的时间。我用Python写了这个脚本,它很简单,是命令行程序,用户输入后,结果会保存到一个文件里,就这样。

我第一个想问的问题是关于脚本的输出:这个程序不需要图形界面(我没有做图形界面的经验,现在也没时间),但我觉得输出结果不能仅仅是一个TXT文件,因为输出会有超过40,000行,而且是为了打印用的(我知道这很浪费纸,我也努力劝他不要这样做,但这是他的选择)。那我应该把它输出成什么格式呢?也许可以用HTML文件?

接下来,他让我把这个程序刻到一个CD上,这样他可以直接放进他的笔记本电脑里运行,并把输出保存到'C:'盘。考虑到他的电脑能力,程序必须尽可能简单,并且需要最少的“后续服务”。关于程序占用电脑空间的大小没有限制。

我尝试用PY2EXE把我的Python脚本做成EXE文件,但当我运行这个.EXE文件时,它会在同一个文件夹里创建输出文件,不会打开任何“窗口”,也不需要输入,一直运行下去,输出文件的大小每秒增加20MB!当然,当我用普通的Python运行时,一切都正常。我查看了其他的StackOverflow帖子,并按照'bundle_files':1这个参数操作,但还是不行……我现在用的是Python2.7,是否应该试试PyInstaller?如果可以的话,能不能给我推荐一个好的教程?

提前谢谢你们!

1 个回答

6

这里有一个不错的 PyInstaller 教程,可以看看。不过,PyInstaller 目前还不支持 Python 2.7(实际上,在 Windows 上,我觉得 2.6 也有问题)。

在你的情况下,我推荐使用 PortablePython——这是一个可以在 USB 闪存驱动器上运行的 Python 版本(适用于 Windows)。你可以很方便地把 PortablePython、你的脚本和一个 .bat 文件放到 USB 上,这个 .bat 文件可以用来运行你的脚本。不过,PortablePython 还不支持 Python 2.7(2.6 是没问题的)。

如果你总是使用最新的版本——在一个刚发布不久的版本上做收费工作,这个版本甚至还没有 .1 的小更新;-) 那么高级的第三方工具,比如打包工具,暂时不完全支持你也不奇怪。你在使用 2.7 的哪些新特性(在 2.6 中没有)呢,值得你为此麻烦吗?

撰写回答