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

路径问题

import os
PROJECT_PATH = os.path.dirname(__file__)
print(PROJECT_PATH)

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

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

解决办法:sys.argv

  • 获取程序运行时的文件绝对路径
  •  os.path.realpath(sys.argv[0]) 可以获取程序运行时的路径
import sys
import os

BASE_DIR = os.path.dirname(os.path.realpath(sys.argv[0]))
with open(os.path.join(BASE_DIR, "config.txt"), mode='r', encoding='utf-8') as fp:
    data = fp.read().strip()
print(data)

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

 动态导包时

再将spec进行打包

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值