• Python打包方法——Pyinstaller


    Python版本:Python3.8

    一、安装Pyinstaller

    1、安装pywin32

      • 下载安装文件:查找到跟自己适用的python版本及window系统版本匹配的pywin32,下载后安装 

      • 使用pip命令安装:pip install pywin32

    2、安装Pyinstaller

      • 下载安装文件安装:官网

      • 使用pip命令安装:pip install PyInstaller

    二、使用Pyinstaller

    1、使用下载安装的方式安装的Pyinstaller打包方式

    将需要打包的文件放在解压得到的Pyinstaller文件夹中,打开cmd窗口,把路径切换到当前路径打开命令提示行,输入以下内容(最后的是文件名):

      • python pyinstaller.py -F myfile.py

    2、使用pip方式安装的Pyinstaller打包方式

    打开cmd窗口,把路径切换到文件所在路径(文件随便放在哪里都行)打开命令提示行,输入以下内容(最后的是文件名):

      • pyinstaller -F myfile.py    

    3、输入参数的含义

    • -F 表示生成单个可执行文件

    • -w 表示去掉控制台窗口,这在GUI界面时非常有用。不过如果是命令行程序的话那就把这个选项删除吧!

    • -p 表示你自己自定义需要加载的类路径,一般情况下用不到

    • -i 表示可执行文件的图标

    打包exe文件:

          如果是打包一个py文件,可以使用“pyinstaller -F 待打包文件名”进行打包,在命令执行完毕后,会在dist目录下生成一个“待打包文件名.exe”的文件。如果不使用“-F”参数,则会在dist目录下生成一个“待打包文件名”的文件夹,该文件夹下包含“待打包文件.exe”,但是要整个文件夹在一起才能正常工作,因为这个文件夹的功能相当于使用“-F”时的一个“待打包文件.exe”。

           使用“F”强制打包参数,有时会导致软件功能运行不正常,仅限于小的范例使用,如果项目有多个py文件,则建议别再使用“F”参数。

          如果项目有多个文件,打包时可以把多个文件列出来,中间用空格隔开即可。

          如果需要修改默认图标为指定图标,则使用“-i  图标文件名”来实现。如:pytinstall -i XXX.ico run.py test1.py test2.py test3.py

      如一个项目下有多个子文件,子文件里面又有py文件或配置文件,打包方法参考:1、把启动文件放在和文件夹一个目录。 2、pyinstaller -D 启动文件 3、这时候会生成buid和dist dist应该是空的 但是会多出一个启动文件名.spec 4、在.spec文件里写上 import sys sys.setrecursionlimit(100000) block_cipher = None 5、pyinstaller 启动文件名.spec 6、这时候dist文件夹里就有启动文件.exe程序了 如果没有其他错误i应该就可以执行了。(没试过)

     pyinstaller的参数见下表,大家可以在需要时参考。

    三、注意事项

    • 文件中使用了第三方库的打包方式

    在打包之前务必找到第三方库的包,把包复制到到跟myfile.py同目录下,然后再使用以上2种方式打包,否则会打包失败或者即使打包成功,程序也会闪退。

    下面演示一下使用了第三方库的打包方式:

      • 找到第三方库的包,如使用了requests,可以使用查找的方式,找到这个包在哪里,然后把它复制到myfile.py同目录下

      • 把包文件复制到myfile.py目录下

      • 给程序换图标的方法
        • 输入命令中添加一个-i tubiao.ico(图标的相对路径)。如图:

    四、exe文件生成

    • 如果程序打包过程没有报错,则会生成3个文件夹(有时候是2个),其中名为dist的文件夹中会有一个myfile.exe文件,运行一下,如果没有问题就打包成功,可以把这个exe文件单独拿出去用,其他的生成的文件夹可以删掉了。

        

  • 相关阅读:
    多选菜单shell脚本
    获取nginx日志状态码百分比脚本
    Linux内核参数优化
    deploy.sh
    Docker常用命令速查
    Docker架构
    修改Docker默认存储路径
    redis安装与基本使用
    js实现汉字转拼音
    android:Android 6.0+ 权限控制代码封装
  • 原文地址:https://www.cnblogs.com/loveMessi/p/14850746.html
Copyright © 2020-2023  润新知