pyinstaller 做了什么?

运行pyinstaller 命令打包脚本,它主要做了以下事情:

  1. 读取并分析你的脚本代码;
  2. 找到执行你的脚本需要的其它模块python 库
  3. 收集这些文件的副本,以及活动的 python 解释器(打包环境);
  4. 将这些文件的副本放到单个文件夹中,或单个可执行文件中。

一般情况下,启动命令行窗口,并转到要打包的脚本所在的目录,通过一个简短的命令即可完成打包:pyinstaller myscript.py

可以添加一些选项来控制打包的方式,例如:pyinstaller --onefile --windowed myscript.py

将捆绑包作为文件夹或文件分发给其他人,他们就可以执行你的程序,对于他们,该应用程序是自成一体的,他们不需要安装 Python。

注意: 不推荐使用 pyinstaller ~/myproject/source/myscript.py 这种在命令中提供脚本路径的方式,打包生成的文件会放到你的启动命令行窗口的根目录下,比如用户目录下,C:\users\yourusername

pyinstaller 常用命令选项

pyinstaller 命令有很多选项,常用的有:

  • scriptname,脚本文件名称,只有这个是必需的;
  • --distpath DIR,打包生成的 app 存放的位置 (默认:./dist);
  • --clean,在构建包程序前清理 PyInstaller 缓存,并删除临时文件;
  • -D, --onedir,创建一个包含可执行文件的单文件夹包(默认);
  • -F, --onefile,创建一个单文件的可执行文件包;
  • --specpath DIR,存放生成的规范文件的文件夹(默认:当前目录);
  • -n NAME, --name NAME,分配给绑定的应用程序和规范文件的名称(默认:第一个脚本的basename);
  • -w, --windowed, --noconsole,不为标准的输入输出 i/o 提供控制台窗口(命令行窗口);
  • -i <FILE.ico>, --icon <FILE.ico>,为可执行文件指定图标 (默认:PyInstaller’s 图标);

这些选项已能够满足大多数的打包任务。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐