码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • python打包系列1 - pyinstaller打包遇坑笔记


    最近工作中需要将python打包成exe,我是用pyinstaller打包。这期间遇到了不少坑,最终打包成功,并在其他windows机器正常运行。

    环境

    我打包的python代码,依赖了opencv、numpy以及若干第三方库(MVS 相机接口库)。
    本机环境:
    win10 x64
    python3.9
    anconda虚拟环境
    pycharm运行时版本: 17.0.4.1+7-b469.62 amd64
    pyinstaller版本: 4.8

    目标机器环境:
    win10 x64

    pyinstaller打包

    pyinstaller比较重要的命令,-F,-D(默认方式,可不指定),-w

    1. -F 把所有依赖的dll都打包到了exe中(一个巨型exe文件),缺点是启动巨慢,特别是依赖了深度学习框架等多种包后
    2. -D 除了exe还会生成很多动态库,启动比-F方式要快很多,但是相比脚本执行,依然会慢很多
    3. -w 不弹出终端(即控制台界面,如果没有控制台界面,报错时会弹出错误信息对话框;有控制台就出现在控制台里)

    其他命令

    可选参数:
      -h,--help显示此帮助消息并退出
      -v,--version显示程序版本信息并退出。
      --distpath DIR放置捆绑的应用程序的位置(默认值:。\ dist)
      --workpath WORKPATH将所有临时工作文件,.log,.pyz放在哪里
                            等(默认值:。\ build)
      -y,--noconfirm替换输出目录(默认值:
                            SPECPATH \ dist \ SPECNAME)而不要求
                            确认
      --upx-dir UPX_DIR UPX实用程序的路径(默认值:搜索执行)
                            路径)
      -a,-ascii不包括unicode编码支持(默认值:
                            包括(如果有)
      --clean清理PyInstaller缓存并删除临时文件
                            在建造之前。
      --log-level LEVEL生成时控制台消息中的详细信息量。水平
                            可能是TRACE,DEBUG,INFO,WARN,ERROR,
                            严重(默认:INFO)。
    
    产生什么:
      -D,--onedir创建一个包含可执行文件的单文件夹捆绑包
                            (默认)
      -F,--onefile创建一个文件捆绑的可执行文件。
      --specpath DIR文件夹,用于存储生成的规范文件(默认值:
                            当前目录)
      -n NAME,--name NAME分配给捆绑的应用程序和规范文件的名称
                            (默认值:第一个脚本的基本名称)
    
    捆绑内容,搜索位置:
      --add-data 
                            要添加到的其他非二进制文件或文件夹
                            可执行文件。路径分隔符是平台
         
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
  • 相关阅读:
    Thread 和 ThreadPool 简单梳理(C#)【并发编程系列_3】
    MAC安全(防MAC泛洪攻击)
    【前端学习笔记】VitePress 项目构建 以及 基础使用汇总(config.js、themeConfig、frontmatter 块、预定义变量)
    codeforces600E Lomsat gelral【线段树合并/DSU】
    C/C++总结笔记——关键字3:malloc/free、new/delete、malloc&new区别、内存泄漏
    UE XML解析
    2021-09-19-JSP-EL表达式-JSTL-Filter-Listener
    【2023,学点儿新Java-16】编程语言的学习方法总结 | 编程的本质和架构 | 如何深度理解编程知识和技能 | 如何成为优秀的软件开发工程师 | 附:Java初学者的困惑!
    printf可变参数原理说明
    1035 Password
  • 原文地址:https://blog.csdn.net/wu_zhiyuan/article/details/127633064
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号