如何使用PyInstaller库把Python程序打包成exe


这篇文章主要介绍“如何使免费云主机域名用PyInstaller库把Python程序打包成exe”,在日常操作中,相信很多人在如何使用PyInstaller库把Python程序打包成exe问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何使用PyInstaller库把Python程序打包成exe”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!Python是一个脚本语言,被解释器解释执行。它的发布方式:.py文件:对于开源项目或者源码没那么重要的,直接提供源码,需要使用者自行安装Python并且安装依赖的各种库。(Python官方的各种安装包就是这样做的).pyc文件:有些公司或个人因为机密或者各种原因,不愿意源码被运行者看到,可以使用pyc文件发布,pyc文件是Python解释器可以识别的二进制码,故发布后也是跨平台的,需要使用者安装相应版本的Python和依赖库。可执行文件:对于非码农用户或者一些小白用户,你让他装个Python同时还要折腾一堆依赖库,那简直是个灾难。对于此类用户,最简单的方式就是提供一个可执行文件,只需要把用法告诉Ta即可。比较麻烦的是需要针对不同平台需要打包不同的可执行文件(Windows,Linux,Mac,…)。PyInstaller其实就是把python解析器和你自己的脚本打包成一个可执行的文件,和编译成真正的机器码完全是两回事,所以千万不要指望成打包成一个可执行文件会提高运行效率,相反可能会降低运行效率,好处就是在运行者的机器上不用安装python和你的脚本依赖的库。在Linux操作系统下,它主要用的binutil工具包里面的lddobjdump命令。PyInstaller输入你指定的的脚本,首先分析脚本所依赖的其他脚本,然后去查找,复制,把所有相关的脚本收集起来,包括Python解析器,然后把这些文件放在一个目录下,或者打包进一个可执行文件里面。需要注意的是,PyInstaller打包的执行文件,只能在和打包机器系统同样的环境下。也就是说,不具备可移植性,若需要在不同系统上运行,就必须针对该平台进行打包。将.py源代码转换成无需源代码的可执行文件pyInstalller下载网址使用命令pip install pyinstaller即可在windows下,pyinstaller需要PyWin32的支持。当用pip安装pyinstaller时未找到PyWin32,会自动安装pypiwin32。打包的app里并不包含任何源码,但将脚本的.pyc文件打包了。基本语法:常用的可选参数如下:-D, –one-dir打包成一个文件夹,默认-F, –one-file打包成一个exe文件-p DIR, –paths DIR添加路径,一般用来添加程序所用到的包的所在位置-c, –console, –nowindowed提供程序视窗,程序有输入输出的界面,默认-w, –windowed, –noconsole无视窗,程序后台运行-i, –icon 添加icon图标pyinstaller --onefile --nowindowed C:/PycharmProjects/untitled/hello.py就会在当前文件下形成build文件夹、dist文件夹和.spec文件。
dist里就是guess_exe.exe可执行文件。如果有打包错误,具体看build里的warn***.txt文档,里面详细记载了错误的原因。一般都是库丢失。
spec文件告诉PyInstaller如何去处理脚本。它对脚本名以及大多数pyinstaller的可选参数进行加密。PyInstaller就是通过执行spec文件的内容来build the app。TypeError: an integer is required (got type bytes)解决办法:报错前的pyinstaller是用 pip install pyinstaller 来安装的,改成用 pip installhttps://github.com/pyinstaller/pyinstaller/archive/develop.tar.gz再安装一次。到此,关于“如何使用PyInstaller库把Python程序打包成exe”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注百云主机网站,小编会继续努力为大家带来更多实用的文章!

相关推荐: 微信小程序中怎么实现子页面向父页面传值

这篇文章主要介绍了微信小程序中怎么实现子页面向父页面传值的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇微信小程序中怎么实现子页面向父页面传值文章都会有所收获,下面我们一起来看看吧。微信小程序中子页面向父页面传值实例详解上面一张图是…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

Like (0)
Donate 微信扫一扫 微信扫一扫
Previous 05/08 08:23
Next 05/08 09:17

相关推荐