• 使用Pyinstaller转换.py文件为.exe可执行程序 何苦


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

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

    • 打开cmd命令行窗口,输入pip install pyinstaller,安装pyinstaller

    • 验证 pyinstaller --version

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

    • 打包

      • 如果Python脚本使用到了第三方库,如何打包?
        方法一:将第三方库对应的包复制到待打包python脚本的同目录下,再执行打包命令。
        方法二:pyinstaller.exe -F 路径\文件名.py
      • 我的python脚本主要是命令行输出,但是程序执行完就退出无法查看相关信息,如何处理?
        在python脚本最后一行添加命令:os.system('pause') 或者 raw_input('Press enter any key to exit...')
      • 我想给我的打包后的执行程序换个图标,如何处理?
      • 使用参数-i。如命令:pyinstaller -F -i tupian\qq.ico ccc.py。文件后缀名必须是.ico
      • 程序运行出现CMD窗口 带上参数-w即可。pyinstaller.exe -F call_login.py -w (-w表示去掉控制台窗口显示)
    • 如何减小pyinstaller打包体积

    平时在使用pyinstaller打包python程序动辄几十M甚至几百M

    Packages包含 大小
    10.4M
    Pyqt5 41.9M
    numpy 324M
    Pandas 498M
    numpy+Pandas(两者有重叠部分) 547M
    Mdfreader(自带Pandas和UI界面,会带入QT) 548M
    • 建立虚拟环境打包是否可以缩小体积呢
      • 首先安装pipenv
    pip install pipenv
    
    - 安装完成后即可创建虚拟环境并进入打包
    
    #建立虚拟环境
    pipenv install
    #进入虚拟环境
    pipenv shell
    #安装模块
    pip install 小工具.py里面用到的模块
    #打包的模块也要安装
    pip install pyinstaller
    #开始打包
    pyinstaller -Fw main.py
    
    - 使用upx压缩
      - 下载upx
    

    UPX: the Ultimate Packer for eXecutables - HomepageUPX: the Ultimate Packer for eXecutables - Homepage
    解压出来之后,将UPX.exe 复制到pyinstaller.exe同文件夹下。
    - 开始打包
    修改pyinstaller产生的.spec文件,将upx=False改成upx=True

    python3默认安装了venv虚拟环境,所以直接使用即可

    • 创建虚拟环境
      在cmd命令行下执行
      python -m venv 英文格式的虚拟环境目录名称
    

    • 激活需要环境

    注意:只有激活之后,才算进入该虚拟环境,否则安装包时,依然是安装在全局环境之下

    激活文件在Script文件夹下,如图所示。激活:activate.bat,退出:deactivate.bat
    激活方式为:dos 界面进入pyton虚拟环境文件夹/Script,然后输入activate.bat (也可直接输入activate)即可激活环境,输入python 就进入python3.6环境了。
    退出方式:输入deactivate.bat 或 deactivate
    

  • 相关阅读:
    iOS的生命周期
    【iOS开发】在 App 中加入 AdMob 广告
    iOS性能优化:Instruments
    动态的计算行高 加载数据源 有多少显示多少 tableView 包含 colloctionView 显示复杂的界面写法
    Java String.split()注意点
    Java eclipse export jar包 包括第三方引入的jar
    微信网页授权获取用户基本信息
    android连接本地tomcat服务器,报timeout
    iOS内存管理retain,assign,copy,strong,weak
    static与全局与局部变量的区别
  • 原文地址:https://www.cnblogs.com/fuqian/p/16287461.html
Copyright © 2020-2023  润新知