昨天在Claude的帮助下写了个 星穹铁道模拟抽卡 ,用python写的。
Github: qiusyan-projects/SR-Gacha: 星穹铁道抽卡模拟器
为了方便没装python的朋友也能快速玩上,我去了解了一下py文件打包为exe的方法
目前来说,比较常见的打包exe方法都是通过 Pyinstaller 来实现的
又水一篇

什么是Pyinstaller

PyInstaller是一个开源的Python程序打包工具,它可以用来将Python应用程序打包成独立的执行文件,这样在没有安装Python解释器的计算机上也可以运行这些程序。PyInstaller支持多种操作系统,包括Windows、Linux和macOS。
以下是PyInstaller的一些主要特点:

  • 单文件打包:可以将Python应用程序及其所有依赖打包成一个单一的执行文件。
  • 跨平台:能够在不同的操作系统上打包和分发应用程序。
  • 无安装运行:打包后的应用程序可以在没有安装Python的环境中直接运行。
  • 依赖打包:自动搜索并打包应用程序所依赖的库。
  • 可定制性:允许用户指定打包的选项,如图标、版本信息等。

使用PyInstaller的步骤通常包括:

  • 安装PyInstaller。
  • 运行PyInstaller并指定要打包的Python脚本。
  • 根据需要选择生成单文件或多文件分发。
  • 在生成的dist文件夹中找到打包后的应用程序。
    PyInstaller是一个强大的工具,对于希望分发Python应用程序的开发者来说非常有用。

以上内容来自 ChatGLM

环境相关

For Windows

首先需要安装Python(废话
然后换源

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

将pip源更换为 清华源
在你想要打包的文件夹里面打开命令行,使用 python -m venv .venv 创建一个虚拟环境

如果不这样的话,pyinstaller就会直接把你你系统中安装的所有的Python包都打包进去
你也不想一个几k的脚本打包完之后变成几百M了吧 .jpg

使用 .venv\Scripts\activate 激活虚拟环境。如果一切正常的话,你应该会看到如下的输出:
前面有个绿色的括号
恭喜你,现在已经成功进入了虚拟环境。

在虚拟环境中使用pip安装 pyinstaller

pip install pyinstaller

然后在虚拟环境中尝试运行你的脚本,如果能够成功运行,那就不要安装额外的库
如果显示缺失哪些库,那就手动安装一下

开始打包

在虚拟环境中切换到你想打包的文件所在的目录,然后使用

pyinstaller -F your-file.py

指令,打包。

如果想要添加图标,那就在同级目录下放一个ico文件,然后使用

pyinstaller -F your-file.py -i icon.ico

即可。

如果你不想让程序启动时打开命令行,那就在-F后面带一个 -w 参数就行了

题外话

来看看咱的抽卡模拟器呗(
SR-Gacha
如果有Star那就再好不过了(搓手
嘿嘿