吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1350|回复: 13
收起左侧

[已解决] Python大佬帮我看看打包时的一个小小的小问题

[复制链接]
zoenbo 发表于 2021-5-11 07:56
本帖最后由 zoenbo 于 2021-5-11 10:54 编辑

我想把new.py打包EXE后期ui.py可以随便增加修改内容现在的问题是pyinstaller把new.py打包后ui.py和打包后的new.exe放同一目录下打开后还有CMD黑窗口(打包时加过-w,应该是只把new.py的CMD去了)有啥子办法打包可以让这个CMD消失呢

new.py
[Python] 纯文本查看 复制代码
# -*- coding:utf-8 -*-
import os
os.system('ui.py')


ui.py
[Python] 纯文本查看 复制代码
import wx
class Frame(wx.Frame):
    def __init__(self):
        wx.Frame.__init__(self, None, title='', size=(400, 300), name='frame', style=541072384)
        self.启动窗口 = wx.Panel(self)
        self.Centre()
        self.图片框1 = wx.StaticBitmap(self.启动窗口, size=(193, 49), pos=(54, 17), name='staticBitmap', style=0)
        self.单选框1 = wx.RadioButton(self.启动窗口, size=(80, 24), pos=(16, 58), name='radioButton', label='单选框')
        self.单选框1.SetValue(True)
        self.编辑框1 = wx.TextCtrl(self.启动窗口, size=(80, 22), pos=(32, 104), value='', name='text', style=0)
        self.选择列表框1 = wx.CheckListBox(self.启动窗口, size=(100, 50), pos=(28, 187), name='listBox', choices=[], style=0)
        self.组合框1 = wx.ComboBox(self.启动窗口, value='', pos=(199, 106), name='comboBox', choices=[], style=16)
        self.组合框1.SetSize((100, 22))


class myApp(wx.App):
    def OnInit(self):
        self.frame = Frame()
        self.frame.Show(True)
        return True


if __name__ == '__main__':
    app = myApp()
    app.MainLoop()        

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
小文fans + 1 + 1 热心回复!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

超人强 发表于 2021-5-11 08:22
pyinstaller -F -i 1.ico 1.py
 楼主| zoenbo 发表于 2021-5-11 08:28
超人强 发表于 2021-5-11 08:22
pyinstaller -F -i 1.ico 1.py

这个不好使,我打包时是pyinstaller -F -w new.py -i ico.ico 主要是new.py是直接执行ui.py的内容,打包时只打了new.py给new.py去了CMD,而ui.py的没去
笔墨纸砚 发表于 2021-5-11 08:43
你就保存未UI文件就好了  不要弄成py文件  个人建议
水木杉 发表于 2021-5-11 08:44
先打包ui.py 再把new.py中改成os.system('ui.exe'), 再打包new.py试试
水木杉 发表于 2021-5-11 08:50
水木杉 发表于 2021-5-11 08:44
先打包ui.py 再把new.py中改成os.system('ui.exe'), 再打包new.py试试

仔细想了下,好像是因为os.system()出现的黑窗口,试试WinExec("cmd.exe /c ui.py", SW_HIDE)
 楼主| zoenbo 发表于 2021-5-11 08:54
水木杉 发表于 2021-5-11 08:44
先打包ui.py 再把new.py中改成os.system('ui.exe'), 再打包new.py试试

ui.py我不想让它打包成EXE,不然我就没法改了。就是想把new打包后,ui.py还能随时修改
gentlespider 发表于 2021-5-11 09:01
system这个模块的原因
 楼主| zoenbo 发表于 2021-5-11 09:08
gentlespider 发表于 2021-5-11 09:01
system这个模块的原因

有没有其他的解决办法呢?我用下边的方法打包后打不开提示Failed to execute script new
with open("ui.txt", "r",encoding="UTF-8") as f:
    code = f.read()
exec(code)
linyii 发表于 2021-5-11 09:20
subprocess.popen里面有参数关闭cmd窗口
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止回复与主题无关非技术内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-5-15 21:44

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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