鱼C论坛

 找回密码
 立即注册
查看: 9146|回复: 100

[技术交流] 【新人交流】用 pyinstaller 将带图片资源的py 一键打包为 exe

  [复制链接]
发表于 2019-3-8 18:09:13 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 yesterday0931 于 2019-3-9 07:16 编辑

  1. import os
  2. import re

  3. pyname = os.listdir('C:/Users/XXX/Desktop/python_compile/input')[0]
  4. input_path = 'C:/Users/XXX/Desktop/python_compile/input/'
  5. output_path = 'C:/Users/XXX/Desktop/python_compile/output/'
  6. py_path = input_path + pyname

  7. filename = pyname.split('.')[0]
  8. specname = filename + '.spec'
  9. spec_path = output_path + specname

  10. os.system('pyi-makespec ' + py_path + ' --specpath ' + output_path)

  11. image_list = []
  12. image_name = []
  13. with open(py_path,'r', encoding='utf-8') as py_f:
  14.     for line in py_f:
  15.         temp = re.findall(r"\w:.*\.[pj][np]g", line)
  16.         if temp:
  17.             image_list.append(temp[0])
  18.             name = re.search(r"((?!\\).)*\.(png|jpg)", temp[0]).group()
  19.             image_name.append(name)

  20. with open(spec_path) as spec_f:
  21.     insert_tuple = ""
  22.     insert_temp = ""
  23.     insert_string = ""
  24.     l = len(image_name)
  25.     lines = spec_f.readlines()

  26.     for n in range(l):
  27.         if l == 1:
  28.             insert_temp = "('%s','%s','DATA')" % (image_name[n], image_list[n])
  29.         elif l > 1:
  30.             insert_temp = "('%s','%s','DATA')" % (image_name[n], image_list[n])
  31.             if n == 0:
  32.                 insert_tuple = insert_temp
  33.             else:
  34.                 insert_tuple = insert_tuple + ',' + insert_temp

  35.     insert_string = "a.datas += (" + insert_tuple + ")\n"

  36.     lines[17:17] = insert_string
  37.     open(spec_path, 'w').writelines(lines)

  38. build_path = output_path + filename + '/build'
  39. dist_path = output_path + filename + '/dist'

  40. os.system('pyinstaller '+ ' -F ' + ' --distpath ' + dist_path + ' --workpath ' + build_path + ' ' + spec_path)
复制代码

以上为代码。
作用:将带图片资源的py 一键打包为 exe
前提:  安装好pyinstaller
方法:将XXX改为你的Windows用户名(也可自行修改),在桌面新建python_compile/input/ 文件夹,python_compile/output/文件夹 ,在input里面放入你要编译的py文档,
运行脚本会在output里得到输出,主要是dist文件夹。
注意:py文件中图片资源的路径必须为绝对路径,如:C:\\Users\\XXX\\Desktop\\python_compile\\input\\res\\gray_ball.png
小Tips:可将该py文件放入input文件夹,打包生成compile.exe,实现一键打包。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-3-26 00:10:15 | 显示全部楼层
谢谢楼主
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-3-26 00:56:16 | 显示全部楼层
学习!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-3-26 14:02:23 | 显示全部楼层
看看,学习学习!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-8-5 15:59:23 | 显示全部楼层
谢谢分享
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-8-19 09:14:11 | 显示全部楼层
mark,顶一下。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-8-27 10:09:38 | 显示全部楼层
学习~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-9-10 12:35:55 | 显示全部楼层
来学习一下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-9-11 18:55:21 | 显示全部楼层
666666666666666666666
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-9-19 13:04:02 | 显示全部楼层

看看,学习学习!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-9-25 19:59:33 | 显示全部楼层
1

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-9-25 20:41:57 | 显示全部楼层
神奇的功能,需要使用
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-9-30 06:59:23 | 显示全部楼层
支持
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-10-1 16:26:47 | 显示全部楼层
真的吗?我想看看!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-10-1 20:35:21 | 显示全部楼层
1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-10-5 12:09:02 | 显示全部楼层
+
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-10-7 13:55:45 | 显示全部楼层
谢谢楼主
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-10-29 15:58:20 | 显示全部楼层
谢谢,正好需要这方面的解决方法
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-11-1 12:43:14 | 显示全部楼层
这个必须看看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-11-4 15:37:46 | 显示全部楼层
试试怎么操作的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-25 11:44

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表