pyinstaller打包多个文件,使用pyinstaller打包python

  pyinstaller打包多个文件,使用pyinstaller打包python

  这是pyinstaller包系列的最后一篇文章,主要讨论修改和重新打包的高级用法。规格文件。

  运行pyinstaller命令的后台进程包命令。

  pyinstalleroptions。myscript.py

  将第一位教师复制到myscript.spec文件中。Spec是specification的缩写。myscript.spec应该理解为一个包参数文件,叫做* *配置文件。默认情况下,该文件保存在当前目录中。您还可以使用- specpath参数来指定保存目录。

  在大多数情况下,您可以直接将参数传递给PyInstaller进行打包,而无需检查或修改包参数文件,但是在特殊情况下,您可能需要修改spec文件。

  的目的。规格文件。规格文件实际上是可执行的Python代码,如下所示:

  这个spec文件告诉pyinstaller如何处理脚本文件名,并编码和打包pyinstaller命令提供的大多数选项。PyInstaller实际上是通过运行spec文件的内容来构建APP应用的。

  因此,如果您有一个. spec文件,您可以修改它的参数,然后将。spec文件添加到pyinstaller命令中,并重新打包,如下所示:

  pyinstaller选项名称. spec

  注意:创建配置文件时,大多数命令选项都编码在配置文件中。从配置文件生成时,不能更改这些选项。如果在pyinstaller options name.spec命令行中指定了它们,它们将被忽略并替换为spec文件中的选项。

  以下命令行选项仅在通过配置文件生成时有效:

  向上方向距离路径工作路径没有confirmmasciclean正在使用。用于打包应用程序的规范文件。在下列情况下,您可能需要考虑修改配置文件来解决此问题:

  当一只理智的灰太狼想把一个数据文件绑定到一个APP应用上的时候。Ming的灰太狼希望包含其他来源的运行时库(比如。dll),但是如果Pyinstaller不知道这些库的来源。向可执行文件添加Python运行时选项。如果您尝试创建的APP应用程序产品由多个程序组成,则每个程序可能依赖于一组公共的第三方库。当打包这些产品时,将每个程序分别绑定到所有依赖项意味着存储代码和库的重复副本,并考虑使用公共模块创建多个包。解密的规范文件。规范文件是一个python代码文件。下面是短小精悍的APP应用。打包在文件夹中的规格文件:

  lock _ cipher=nonea=analysis([ minimal . py ],pathex=[/developer/pi tests/minimal ],binaries )=none re

  分析,PYZ,执行收集。分析类实例通过键入要打包的脚本文件名列表的参数,以及该脚本的所有导入和其他依赖项来实例化分析类。

  默认情况下,为变量A指定一个分析实例,变量A包含类成员名称的依赖列表。

  命令行中脚本:提供的Python脚本名称;Pure: path,脚本需要的纯python模块:用于搜索导入路径列表,就像使用[PYTHONPATH]时使用[-paths]参数提供的路径一样。二进制文件:脚本所需的非python模块。-由- add-binary参数给出;数据:app应用中包含的非二进制文件(资源文件)。-由- add-data参数给出。PYZ类实例PYZ类实例是一个. PYZ压缩文档对象,它包含所有Python模块。您的包环境中python的基础环境中的pyc文件被压缩成。压缩文件。

  根据分析的脚本和PYZ档案文件生成EXE instance exe 的实例。这个对象创建一个可执行文件,文件中的参数定义了打包文件的名称、图标和其他属性。exe文件。

  COLLECT类实例COLLECT类实例为输出创建一个文件夹。其中参数定义文件夹名称、包含的文件等。

  修改的重新打包示例。修改我的。规格文件,并修改以下内容:

  添加分析类实例的datas=[ read EXIF applet usage . MD ]的文档;将EXE类实例的name=ReadExif_main 更改为name=ReadExif ,以缩短生成的可执行文件的名称。COLLECT类instance= readexif _ main )的名称是 name=readexifapp 。保存并执行pyinstaller。readmexif _ main.spec是一个. spec文件。请删除之前打包生成的其他文件夹和文件。这将使生成的包更容易理解文件夹和exe文件名,并且文件夹中还包含自述文件。

  pyinstaller包中的大多数选项都可以在。spec文件,但其他的必须自己摸索。

  如有疑问,欢迎加QQ群:457079928,python小屋交流!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: