From 57a6a44839a96c8da0a13b52697f54c7ef2a9906 Mon Sep 17 00:00:00 2001 From: vc4 <287920192@qq.com> Date: Wed, 25 Aug 2021 07:48:22 +0800 Subject: [PATCH] add pyexe support --- README.md | 1 + app.ui | 6 ------ logo.ico | Bin 0 -> 23342 bytes pack.ui | 42 ------------------------------------------ scomm.py | 17 ++++++++++------- setup.py | 15 +++++++++++++++ 6 files changed, 26 insertions(+), 55 deletions(-) create mode 100644 logo.ico delete mode 100644 pack.ui create mode 100644 setup.py diff --git a/README.md b/README.md index 2d4dbf4..17ed9a8 100644 --- a/README.md +++ b/README.md @@ -23,6 +23,7 @@ python3 scomm.py * python3.x * tkinter * pyserial +* pyyaml ## 解析脚本 diff --git a/app.ui b/app.ui index c0e7c41..5c66ed2 100644 --- a/app.ui +++ b/app.ui @@ -275,12 +275,6 @@ "text":"data-09", "column": 2, "row": 29 - }, - { - "name":"btn-data10", - "text":"data-10", - "column": 2, - "row": 30 } ] } diff --git a/logo.ico b/logo.ico new file mode 100644 index 0000000000000000000000000000000000000000..0de32f99d638b36d36ffcab1c74b48d6259b79c9 GIT binary patch literal 23342 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 and (str(s)[:64]+' ...') or str(s)) def event_init(self): self.combobox_port.bind("<>", lambda x:self.log(self.combobox_port.get())) @@ -178,7 +181,7 @@ class SerComm(): if self.com.is_open: data = self.com.read(self.com.in_waiting) if data: - self.ui.log('%s: recv %s bytes: %s...' % (self.com.port,len(data),str(data)[:16])) + self.ui.log('%s: recv %s bytes: %s' % (self.com.port,len(data),str(data))) self.ui.dmesg('recv', data) time.sleep(0.01) else: @@ -194,7 +197,7 @@ class SerComm(): if data and len(data) > 0: self.com.write(data) self.sendCount += len(data) - self.ui.log('%s: send %s bytes: %s...' % (self.com.port,len(data),str(data)[:16])) + self.ui.log('%s: send %s bytes: %s' % (self.com.port,len(data),str(data))) self.ui.dmesg('send', data) else: time.sleep(1) @@ -209,7 +212,7 @@ class SerComm(): if data and len(data) > 0: self.com.write(data) self.sendCount += len(data) - self.ui.log('%s: send %s bytes: %s...' % (self.com.port,len(data),str(data)[:16])) + self.ui.log('%s: send %s bytes: %s' % (self.com.port,len(data),str(data))) self.ui.dmesg('send', data) def openCloseSerialProcess(self): @@ -246,9 +249,9 @@ class SerComm(): self.com.close() self.ui.serial_close() self.comProgressStop = True - self.ui.log('%s: open failed: %s' % (self.com.port,str(e))) + self.ui.log('%s: open failed' % (self.com.port)) except Exception as e: - self.ui.log('%s: openClose trace: %s' % (self.com.port,str(e))) + self.ui.log('%s: openClose trace' % (self.com.port)) def clearWin(self): self.ui.clear_recvtext() diff --git a/setup.py b/setup.py new file mode 100644 index 0000000..9bd811a --- /dev/null +++ b/setup.py @@ -0,0 +1,15 @@ +from distutils.core import setup +import py2exe + +excludes = ['_gtkagg', '_tkagg', 'bsddb', 'curses', 'email', 'pywin.debugger', 'pywin.debugger.dbgcon', 'pywin.dialogs'] + +setup( + options = {"py2exe": + { + "excludes": excludes, + } + }, + windows = [{ 'script':'scomm.py', 'icon_resources':[(1, 'logo.ico')]}], + zipfile = None, + data_files = [('', ['usercfg.ini','app.ui','unpack.ui','data.ui','logo.ico'])] +)