使用Pyinstaller转换py文件为. exe可执行程序过程详解

  

  

pyinstaller能够在Windows、Linux等操作系统下将Python脚本打包成可直接运行程序。使Python脚本可以在没有安装Python的环境中直接运行,方便共享。

  


  

  python 2.7.12 + Windows7多

  

  

1,待转换的py文件绝对路径最好不要包含中文字符。容易出现一些莫名其妙的问题。

  

2, python中需要有py文件中用到的第三方库。否则在转换后的. exe文件中会出现不符合预期的结果。

  


  

  

1,配置pip镜像源.pip配置方法参考pip配置和安装第三方模块。如果已经配置,跳过。

  

2,打开cmd命令行窗口,输入pip安装pyinstaller,安装pyinstaller库。

        C:\Users\ Administrator> pip安装pyinstaller   收集pyinstaller   下载http://pypi.doubanio.com/packages/3c/86/909a8c35c5471919b3854c01f43843d9b5aed0e9948b63e560010f7f3429/PyIns   taller-3.3.1.tar。广州(3.5 mb)   100% |████████████████████████████████| 3.5 mb 112 kb/s   要求已经满足:setuptools在c: \ python27 \ lib \网站(从pyinstaller)   要求已经满足:pefile>=2017.8.1 c: \ python27 \ lib \网站(从pyinstaller)   要求已经满足:macholib> 1.8=c: \ python27 \ lib \网站(从pyinstaller)   要求已经满足:dis3的c: \ python27 \ lib \网站(从pyinstaller)   要求已经满足:未来在c: \ python27 \ lib \网站(从pyinstaller)   要求已经满足:altgraph> 0.15=c: \ python27 \ lib \网站(macholib>=1.8→pyinstaller)   安装收集包:pyinstaller   运行设置。py安装pyinstaller…完成   成功安装pyinstaller-3.3.1      

3,确认pyinstaller安装结果,位于c: \ Python27 \脚本路径下。执行,pyinstaller查看

        C: \ Users> pyinstaller的地方   c: \ Python27 \ Scripts \ pyinstaller.exe      

  

pyinstaller[选项]脚本

  

选项常用选项说明:

        - f, -onefile:表示生成单个可执行文件,常用。   窗口的,- w -noconsole:表示去掉控制台窗口,这在GUI界面时非常有用。不过如果是命令行程序的话那就把这个选项删除吧!   - p表示你自己自定义需要加载的类路径,一般情况下用不到   我表示可执行文件的图标。注意:图片后缀必须是ico   - c、控制台、-nowindowed:使用控制台,无窗口(默认)   - d, -onedir:创建一个目录,包含EXE文件,但会依赖很多文件(默认选项)      

基本实例:pyinstaller - f myscript.py。

  

pyinstaller更多语法见官网说明:https://pyinstaller.readthedocs.io/en/stable/usage.html

  

  

pyinstaller其实就是把python解释器和脚本打包成一个可执行文件,和编译成真正的机器码是完全两回事。所以打包不一定会提高运行效率,可能会降低运行效率,但是好处是在运行者机器上不用安装python和脚本所依赖的库。

  

输入指定的脚本后,首先pyinstaller会分析该脚本所依赖的其他依赖,然后进行查找,复制,把所有相关的依赖都收集起来并惊醒加密处理,包括python解释器,最后把这些文件放在一个目录下,或者打包到一个可执行文件。然后就可以直接运行所生成的可执行文件。

  

需要注意的是,使用pyinstaller打包生成的可执行文件,只能再和打包机器系统相同的环境下运行32位python环境打包的程序可以运行在32/64位windows系统上.64点位python环境打包的程序只能运行在64位windows系统上。所以如果想打包程序的话,建议使用32位python环境打包。

  


  

  

1,确认待转换的py文件可正确运行,不存在语法错误。如ccc.py

  

2,执行pyinstaller - f $ {Python脚本名}完成文件转换. . exe文件生成的绝对路径会在倒数第二行显示,通常位于当前目录下dist所在目录下。转换后的. exe文件名与Python文件名相同。如下图所示

        d: \程序文件\ notepad++祝辞pyinstaller - f ccc.py   信息:PyInstaller: 3.3.1   信息:Python: 2.7.12   信息平台:Windows-7-6.1.7601-SP1   ……   信息:重定向Microsoft.VC90。CRT版本(9,0 21022 8)→(9、0、30729、4940)   信息:建筑包裹out00-PKG (CArchive)。pkg成功完成。   信息:引导装载程序c: \ python27 \ lib \网站\ PyInstaller \引导装载程序\ Windows-32bit \ run.exe   信息:检查EXE   信息:建筑因为out00-EXE EXE。toc是不存在的   信息:从out00-EXE.toc构建EXE   信息:附加档案EXE d: \程序文件\ notepad++ \ dist \ ccc.exe   信息:从out00-EXE构建EXE。toc成功完成。

使用Pyinstaller转换py文件为. exe可执行程序过程详解