程序员文章、书籍推荐和程序员创业信息与资源分享平台

网站首页 > 技术文章 正文

python散装笔记——107: PyInstaller - 发布 Python 代码

hfteth 2025-03-05 16:19:46 技术文章 30 ℃

1: 安装和设置

Pyinstaller 是一个普通的 python 软件包。可以使用 pip 安装:

pip install pyinstaller

在 Windows 中安装

对于 Windows,pywin32pypiwin32 是先决条件。后者会在使用 pip 安装 pyinstaller 时自动安装。

在 Mac OS X 中安装*

PyInstaller 使用当前 Mac OS X 默认提供的 Python 2.7。如果要使用 Python 的后续版本,或者要使用 PyQTNumpyMatplotlib 等重要软件包,建议使用 MacPortsHomebrew 安装。

从压缩包安装

如果 pip 不可用,请从 PyPI 下载压缩包。

要测试开发版本,请从 PyInstaller 下载页面的开发分支下载压缩包。

展开压缩包,找到 setup.py 脚本。以管理员权限执行 python setup.py install,安装或升级 PyInstaller

验证安装

安装成功后,pyinstaller 命令应存在于所有平台的系统路径中。在命令行中输入 pyinstaller --version 进行验证。这将打印出 pyinstaller 的当前版本。

2: Using Pyinstaller

在最简单的使用情况下,只需导航到文件所在的目录,然后键入即可:

pyinstaller myfile.py

Pyinstaller 会分析该文件并创建:

  • myfile.py 位于同一目录下的 myfile.spec 文件
  • myfile.py 位于同一目录下的 build 文件夹
  • myfile.py 位于同一目录下的 dist 文件夹
  • 构建文件夹中的日志文件

捆绑的应用程序可在 dist 文件夹中找到

选项

pyinstaller 可以使用多个选项。选项的完整列表可在此处找到。

捆绑应用程序后,打开 “dist/myfile/myfile.exe ”即可运行。

3: 捆绑到一个文件夹

当 PyInstaller 在不带任何选项的情况下捆绑 myscript.py 时,默认输出是一个单独的文件夹(名为 myscript),其中包含一个名为 myscript 的可执行文件(windows 中为 myscript.exe)以及所有必要的依赖项。

应用程序可以通过将文件夹压缩成 zip 文件的方式发布。

可使用选项“-D ”或“--onedir ”明确设置 “一个文件夹 ”模式。

pyinstaller myscript.py -D

优点:

捆绑到单个文件夹的主要优点之一是更容易调试问题。如果有模块导入失败,可以通过检查文件夹来验证。

另一个优势是在更新时可以感受到。如果代码有一些改动,但使用的依赖关系完全相同,发布者只需发布可执行文件(通常比整个文件夹小)即可。

缺点

这种方法的唯一缺点是,用户必须在大量文件中搜索可执行文件。

此外,用户还可能删除/修改其他文件,导致应用程序无法正常运行。

4: 捆绑到单个文件

pyinstaller myscript.py -F

生成单个文件的选项是 -F--onefile。这会将程序捆绑到一个 myscript.exe 文件中。

单个文件可执行文件比单个文件夹捆绑文件慢。它们也更难调试。

最近发表
标签列表