pyinstaller打包多个py文件,python pyinstaller打包程序太大

  pyinstaller打包多个py文件,python pyinstaller打包程序太大

  1.安装和使用使用以下命令进行安装

  Pip安装pyinstaller基本命令:

  #语法:pyinstaller选项源文件pyinstaller -F main.py公共选项:

  选项-f,-onefile是单个可执行文件-d,- onedir是可执行程序-a,- ascii是Unicode字符集为-d的可执行文件,- debug version-c,- nowindowed,- console指定应该使用命令行窗口运行程序。-o DIR,- out=DIR指定等级库文件的生成目录。否则默认使用当前目录生成spec文件-p DIR,- path=DIR,并设置Python导入模块的路径。类似于设置PYTHONPATH环境变量。您还可以使用路径分隔符(Windows上的分号和Linux上的冒号)来分隔多个路径。- name=NAME是项目的名称)。如果省略此选项,第一个脚本的主文件名将使用spec name-I Add icon-Hide imported unpacked modules-paths指定导入文件的路径,然后使用py。

  同时给出官方说明。

  要用PyInstaller打包PySide程序,首先使用以下命令:

  pyinstaller -F -w main.py

  当打包的exe文件运行时会报告上述错误,因为PySide6。QtSvg模块未导入。对于此类错误,请使用-\-hidden-import命令在打包期间导入缺少的模块。

  该命令如下所示。

  py-f-wmain . py-hidden-importpyside 6 . qtsvg在打包过程中还注意到以下警告:

  477警告:未找到lib:Shi boken 6。ab i3 . dll dependency ofd:\ program data \ anaconda 3 envs py side 6 lib tsvgwidgets . pyd 4793警告:未找到lib:Shi boken 6。ab i3.dlldependencyofd :\程序数据anaconda 3 enacond 3 end Qt network . pyd 4815警告:未找到lib:石博肯6。ab i3 . dll dependency ofd:\ program data anaconda 3 site-pack kke Qt widgets . pyd 4831警告:未找到lib:Shi boken 6。ab i3.dlldependencyofd 3360\ Prog正在生成lib站点包Qt GUI.pyd 4845警告:lib未找到3360 Shi boken6。ab i3 . dll dependency ofd 3360 \ prependency ofd 3360 lib site-packages Qt core . pyd 5028警告:lib未找到3360 Shi boken6。ab i3 . dll dependency ofd 3360 \ PLL lib \ site-packages py side 6 shiboken6.abi3.dll

  通常可以在本地的PySide6库中找到文件,在本地搜索shiboken6.abi3.dll找到文件的路径;

  如果没有,您可以通过此链接下载文件。下载链接

  你在网上看到的解决方案是将shiboken6.abi3.dll文件所在目录的路径添加到- path中。这意味着:

  py installer-f-wmain . py-hidden-importpyside 6。Qt SVG-paths=d:\ program data \ anaconda 3 envs pyside

  排序:

  1)错误信息表示无法将WindowsPath添加到字符串中,所以我认为Python不支持PyInstaller或PySide6语法,所以我删除了PyInstaller和PySide6。

  2)用pip代替conda也没用,重新安装PyInstaller和PySide6或者用默认源码替换pip。

  出现最后一个错误:用PySide6\__ init __.py确认。

  找到错误发生的地方,第26行

  从这段代码可以看出,它其实是打算告诉我的,但是没有找到shiboken6。但是提示信息的构成中有几个语法错误,可能误会我们了。根本原因是找不到shiboken6。

  因此,shiboken6.abi3.dll被添加到路径中。那就是:

  py installer-f main . py-hidden-importpyside 6。Qt SVG-pathsd:\ program data \ anaconda 3 envs py side 6

  或者,您可以将shiboken6.abi3.dll直接复制到项目路径中。

  py-f main . py-hidden-importpyside 6 . qtsvg-pathshiboken 6 . ABI 3 . dll 3 .小尖打包的APP应用打包在一起。

  但是,如果不知道当前包中是否缺少文件或模块,就不要使用-w。这样,错误将被输出到命令行窗口,使调试变得容易。

  程序打包后,通常会生成一个exe文件。双击exe将导致命令行窗口闪烁并退出。您可以使用其他方法打开exe文件。

  首先,打开命令行(cmd)

  将exe文件拖到命令行

  如果你点击回车,这个exe文件将被执行。此时,命令行窗口不会退出,您可以在窗口中显示一条错误消息以进行调试。

  问题:如果项目使用相对路径查找settings.json文件,但cmd工作区位于C:\Users\Administrator,则为C:\Users\Administrator。

  解决方法:调试时,在包含exe的目录下打开cmd,或者将cmd工作区切换到包含exe的目录下,然后拖动exe文件运行。

  在调试并验证exe文件是否正常运行后,确定package命令中要添加的选项,然后添加-w选项,生成没有命令行窗口的exe程序。

  最后,记得把一些项目需要的json文件、图片、资源(比如文件夹、图标、xml)复制到打包的exe文件目录或者前面代码中的相对目录位置。

  4.3358见c.biancheng.net/view/2690.html

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

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