码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • python打包exe


    pip install pyinstaller

    配合虚拟环境打包

    1. 在mac上开发创建虚拟环境

    2. 开发。。

    3. 开发完毕后:pip freeze > requirements.txt

    4. 打开虚拟机,创建虚拟环境

    5. 安装依赖库:pip install -r requirements.txt

    6. 安装pyinstaller:pip install pyinstaller

    7. 打包文件:pyinstaller -F xxx.py

     打包成多个文件

    pyinstaller -D xx.py

    • 打开生成的build文件是编译生成的中间文件可以不用理会
    • 优点运行速度相对快一些
    • 涉及程序中读写其他文件,不会报错!!

    执行程序出错时终端一闪即退,想要看报错信息?

    先打开终端cmd,命令 将可执行文件拖拽到终端,执行。

    打包成单文件

    pyinstaller -F xx.py

     其他参数:

    • -n:  打包文件/文件夹 重命名
    • -i :  图标,.ico

    路径问题

    1. import os
    2. PROJECT_PATH = os.path.dirname(__file__)
    3. print(PROJECT_PATH)

     打包成单文件时,遇到程序中读取其他文件时会报错?

    单文件运行时程序会解压到一个临时文件夹,使用相对路径查找文件会发生报错

    解决办法:sys.argv

    • 获取程序运行时的文件绝对路径
    •  os.path.realpath(sys.argv[0]) 可以获取程序运行时的路径
    1. import sys
    2. import os
    3. BASE_DIR = os.path.dirname(os.path.realpath(sys.argv[0]))
    4. with open(os.path.join(BASE_DIR, "config.txt"), mode='r', encoding='utf-8') as fp:
    5. data = fp.read().strip()
    6. print(data)

    注意:将config.txt文件与程序文件放在一起。。

     动态导包时

    再将spec进行打包

     

  • 相关阅读:
    vulhub靶场搭建与使用
    DeU-Net: 用于三维心脏mri视频分割的可变形(Deformable)U-Net
    Vue基础知识点(面试可用):v-if和v-show的区别
    【Flutter】自动生成图片资源索引插件二:FlutterAssetsGenerator
    CoCube传感器MPU6050笔记
    CMake教程-第 1 步:基本起点
    分布式事务解决方案Seata
    TiDB与MySQL兼容性对比
    GPT实战系列-ChatGLM2部署Ubuntu+Cuda11+显存24G实战方案
    git上传对象文件错误解决方案
  • 原文地址:https://blog.csdn.net/weixin_44007111/article/details/125997384
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | 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号