From 50c168893d0db2510d53d841e2a093925f301ed5 Mon Sep 17 00:00:00 2001 From: XiaoxingChen Date: Fri, 30 Mar 2018 22:34:59 +0800 Subject: [PATCH 1/3] Modify: use pyinstaller add date file command to add *.ui file. Change the name parse rule. When packed to exe, the netassistant.py run as netassistant.pyc, so if replace ".py" with ".ui", will one get "netassistant.uic". This will cause program cannot find files. --- .gitignore | 104 ++++++++++++++++++++++++++++++++++++++++++++++++ gen_exe.sh | 1 + netassistant.py | 2 +- 3 files changed, 106 insertions(+), 1 deletion(-) create mode 100644 .gitignore create mode 100755 gen_exe.sh diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..6cd11ba --- /dev/null +++ b/.gitignore @@ -0,0 +1,104 @@ +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +*.egg-info/ +.installed.cfg +*.egg +MANIFEST + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*.cover +.hypothesis/ + +# Translations +*.mo +*.pot + +# Django stuff: +*.log +.static_storage/ +.media/ +local_settings.py + +# Flask stuff: +instance/ +.webassets-cache + +# Scrapy stuff: +.scrapy + +# Sphinx documentation +docs/_build/ + +# PyBuilder +target/ + +# Jupyter Notebook +.ipynb_checkpoints + +# pyenv +.python-version + +# celery beat schedule file +celerybeat-schedule + +# SageMath parsed files +*.sage.py + +# Environments +.env +.venv +env/ +venv/ +ENV/ +env.bak/ +venv.bak/ + +# Spyder project settings +.spyderproject +.spyproject + +# Rope project settings +.ropeproject + +# mkdocs documentation +/site + +# mypy +.mypy_cache/ \ No newline at end of file diff --git a/gen_exe.sh b/gen_exe.sh new file mode 100755 index 0000000..00a0c1e --- /dev/null +++ b/gen_exe.sh @@ -0,0 +1 @@ +pyinstaller -F --add-data netassistant.ui:. main.py diff --git a/netassistant.py b/netassistant.py index aa96104..ccc29f7 100644 --- a/netassistant.py +++ b/netassistant.py @@ -9,7 +9,7 @@ from PyQt5.QtNetwork import QTcpSocket, QTcpServer, QUdpSocket, QHostAddress uipath, uiname = os.path.split(os.path.realpath(__file__)) -uiname = uiname.replace('.py', '.ui') +uiname = uiname.split('.')[0] + '.ui' uifile = os.path.join(uipath, uiname) ui_mainwindow, qtbaseclass = uic.loadUiType(uifile) From cc195203442c9c60255af73d981fa381781737ec Mon Sep 17 00:00:00 2001 From: XiaoxingChen Date: Wed, 4 Apr 2018 16:58:29 +0800 Subject: [PATCH 2/3] Modify: add gen_exe.bat --- __pycache__/netassistant.cpython-36.pyc | Bin 13625 -> 0 bytes gen_exe.bat | 1 + 2 files changed, 1 insertion(+) delete mode 100644 __pycache__/netassistant.cpython-36.pyc create mode 100644 gen_exe.bat diff --git a/__pycache__/netassistant.cpython-36.pyc b/__pycache__/netassistant.cpython-36.pyc deleted file mode 100644 index 9cd9abd2b976ca7c5ffa937e08d1da9fbd3a5405..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13625 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 OEt`%E{*A%E)PDmRs%Ogp diff --git a/gen_exe.bat b/gen_exe.bat new file mode 100644 index 0000000..9513524 --- /dev/null +++ b/gen_exe.bat @@ -0,0 +1 @@ +pyinstaller -F --add-data netassistant.ui;. main.py From b769d9cef95378117b1758d61193a5be46419c8c Mon Sep 17 00:00:00 2001 From: XiaoxingChen Date: Wed, 4 Apr 2018 17:36:45 +0800 Subject: [PATCH 3/3] Modify: change gen_exe.bat for no console --- gen_exe.bat | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gen_exe.bat b/gen_exe.bat index 9513524..fc8bd21 100644 --- a/gen_exe.bat +++ b/gen_exe.bat @@ -1 +1 @@ -pyinstaller -F --add-data netassistant.ui;. main.py +pyinstaller -F --noconsole --add-data netassistant.ui;. main.py