Pyinstaller build ready.
This commit is contained in:
parent
5d0d920d68
commit
8114feccac
10 changed files with 416 additions and 73 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -17,3 +17,4 @@ Pesterchum.dmg
|
|||
subscript.txt
|
||||
package-lock.json
|
||||
package.json
|
||||
pesterchum.spec
|
|
@ -1,6 +1,14 @@
|
|||
# Changelog
|
||||
(This document uses YYYY-MM-DD as per ISO 8601)
|
||||
|
||||
## [v2.1.3] - 2021-5-3
|
||||
|
||||
### Added
|
||||
- pyinstaller.py script to make building with pyinstaller more convenient.
|
||||
|
||||
### Changed
|
||||
- Honk emote now only triggers when typing ':honk:' instead of on every 'honk'.
|
||||
|
||||
## [v2.1.2] - 2021-4-16
|
||||
|
||||
### Added
|
||||
|
|
|
@ -55,6 +55,11 @@ You can install them with Python's pip or your package manager if you're on linu
|
|||
[python-magic]: https://pypi.org/project/python-magic/
|
||||
[ostools]: https://pypi.org/project/ostools/
|
||||
[requests]: https://pypi.org/project/requests/
|
||||
|
||||
### PYINSTALLER BUILDING
|
||||
My preferred method of generating binary releases.
|
||||
``python pyinstaller.py``
|
||||
|
||||
### CX_FREEZE BUILDING
|
||||
|
||||
#### Windows:
|
||||
|
@ -65,10 +70,6 @@ or
|
|||
#### Mac:
|
||||
``python setup.py build``
|
||||
|
||||
### PYINSTALLER BUILDING
|
||||
#### Linux (might also work on other platforms!!):
|
||||
``pyinstaller pesterchum.spec``
|
||||
|
||||
## SMILIES
|
||||
Just for easy reference. :3 (Taken from docs/README-karxi.mkdn)
|
||||
|
||||
|
|
|
@ -213,9 +213,10 @@ class honker(lexercon.Chunk):
|
|||
def __init__(self, string):
|
||||
self.string = string
|
||||
def convert(self, format):
|
||||
if format == "html":
|
||||
return "<img src='smilies/honk.png' alt'honk' title='honk' />"
|
||||
else:
|
||||
# No more 'honk' turning into an emote because everyone hated that :')
|
||||
#if format == "html":
|
||||
# return "<img src='smilies/honk.png' alt'honk' title='honk' />"
|
||||
#else:
|
||||
return self.string
|
||||
|
||||
class mecmd(lexercon.Chunk):
|
||||
|
@ -998,6 +999,7 @@ smiledict = {
|
|||
":suckers:": "Suckers.gif",
|
||||
":scorpio:": "scorpio.gif",
|
||||
":shades:": "shades.png",
|
||||
":honk:": "honk.png",
|
||||
}
|
||||
|
||||
if ostools.isOSXBundle():
|
||||
|
|
|
@ -103,7 +103,7 @@ else:
|
|||
reqmissing = []
|
||||
optmissing = []
|
||||
try:
|
||||
from PyQt5 import QtCore, QtGui, QtMultimedia, QtWidgets
|
||||
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||
except ImportError as e:
|
||||
module = str(e)
|
||||
if module.startswith("No module named ") or \
|
||||
|
@ -1933,19 +1933,8 @@ class PesterWindow(MovingWindow):
|
|||
if (pygame and pygame.mixer):
|
||||
# We have pygame, so we may as well use it.
|
||||
soundclass = pygame.mixer.Sound
|
||||
# QSound.isAvailable no longer exists in pyqt5 :(
|
||||
# This deserves a better solution
|
||||
#elif QtMultimedia.QSound.isAvailable():
|
||||
# # We don't have pygame; try to use QSound.
|
||||
# soundclass = QtMultimedia.QSound
|
||||
#else:
|
||||
# # We don't have any options...just use fillers.
|
||||
# soundclass = NoneSound
|
||||
else:
|
||||
logging.warning("Failed to define pygame mixer, is pygame imported?")
|
||||
try:
|
||||
soundclass = QtMultimedia.QSound
|
||||
except:
|
||||
soundclass = NoneSound
|
||||
|
||||
self.sound_type = soundclass
|
||||
|
@ -1982,8 +1971,7 @@ class PesterWindow(MovingWindow):
|
|||
if pygame and pygame.mixer and \
|
||||
isinstance(sound, pygame.mixer.Sound):#pygame.mixer.Sound is case sensitive!!
|
||||
sound.set_volume(vol)
|
||||
elif not isinstance(sound, QtMultimedia.QSound):
|
||||
# We can't set a volume on those....
|
||||
else:
|
||||
sound.setVolume(vol)
|
||||
except Exception as err:
|
||||
# Why was this set as "info"? ?w?
|
||||
|
|
File diff suppressed because one or more lines are too long
52
pesterchum.spec.old.txt
Normal file
52
pesterchum.spec.old.txt
Normal file
|
@ -0,0 +1,52 @@
|
|||
# -*- mode: python ; coding: utf-8 -*-
|
||||
|
||||
block_cipher = None
|
||||
|
||||
added_binaries = [
|
||||
( "C:\\Program Files (x86)\\Windows Kits\\10\\Redist\\10.0.19041.0\\ucrt\\DLLs\\x86\\api-ms-win-core-console-l1-1-0.dll", '.' ),
|
||||
#( "api-ms-win-core-file-l1-1-0.dll", '.' ),
|
||||
]
|
||||
|
||||
added_files = [
|
||||
( "quirks", 'quirks' ),
|
||||
( "smilies", 'smilies' ),
|
||||
( "themes", 'themes' ),
|
||||
( "docs", 'docs' ),
|
||||
( "README.md", '.' ),
|
||||
( "LICENSE", '.' ),
|
||||
( "CHANGELOG.md", '.' ),
|
||||
( "PCskins.png", '.' ),
|
||||
( "Pesterchum.png", '.' )
|
||||
]
|
||||
|
||||
a = Analysis(['pesterchum.py'],
|
||||
#binaries=added_binaries,
|
||||
datas=added_files,
|
||||
hiddenimports=[],
|
||||
hookspath=[],
|
||||
runtime_hooks=[],
|
||||
excludes=[],
|
||||
win_no_prefer_redirects=False,
|
||||
win_private_assemblies=False,
|
||||
cipher=block_cipher,
|
||||
noarchive=False)
|
||||
pyz = PYZ(a.pure, a.zipped_data,
|
||||
cipher=block_cipher)
|
||||
exe = EXE(pyz,
|
||||
a.scripts,
|
||||
icon='pesterchum.ico',
|
||||
exclude_binaries=True,
|
||||
name='Pesterchum',
|
||||
debug=False,
|
||||
bootloader_ignore_signals=False,
|
||||
strip=False,
|
||||
upx=True,
|
||||
console=False )
|
||||
coll = COLLECT(exe,
|
||||
#a.binaries,
|
||||
a.zipfiles,
|
||||
a.datas,
|
||||
strip=False,
|
||||
upx=True,
|
||||
upx_exclude=['qwindows.dll', 'Qt5Multimedia.dll', 'Qt5Gui.dll', 'Qt5Core.dll', 'vcruntime140.dll', 'MSVCP140.dll', 'Qt5Multimedia.dll'.lower(), 'Qt5Gui.dll'.lower(), 'Qt5Core.dll'.lower(), 'vcruntime140.dll'.lower(), 'MSVCP140.dll'.lower()], # UPX corrupts DLLs sometimes </3
|
||||
name='Pesterchum')
|
301
pyinstaller.py
Normal file
301
pyinstaller.py
Normal file
|
@ -0,0 +1,301 @@
|
|||
import PyInstaller.__main__
|
||||
import sys
|
||||
import shutil
|
||||
import os
|
||||
|
||||
if sys.version_info < (3, 0, 0):
|
||||
sys.exit("Python versions lower than 3 are not supported.")
|
||||
elif (sys.version_info >= (3, 9, 0)) & (sys.platform == 'win32'):
|
||||
print("WARNING!!!! Building with python 3.9 will make your builds not run on windows 7 and previous versions.")
|
||||
|
||||
def is_64bit() -> bool:
|
||||
return sys.maxsize > 2**32
|
||||
|
||||
is_64bit = is_64bit()
|
||||
|
||||
try:
|
||||
print("Pyinstaller script to make everything a bit more conventient, just being able to run \"pyinstaller\" \
|
||||
is a lot more useable than having to include all command line arguments every time.\n")
|
||||
|
||||
delete_builddist = input("Delete build & dist folders? (Y/N): ")
|
||||
if delete_builddist.lower() == "y":
|
||||
try:
|
||||
shutil.rmtree('dist')
|
||||
except FileNotFoundError as e:
|
||||
print(e)
|
||||
try:
|
||||
shutil.rmtree('build')
|
||||
except FileNotFoundError as e:
|
||||
print(e)
|
||||
|
||||
print("\nUPX corrupts DLLs when it feels like it, try disabling it if your build doesn't run.")
|
||||
if is_64bit == True:
|
||||
upx_dir = input("UPX directory [D:\\upx-3.96-win64]: ")
|
||||
if upx_dir == '':
|
||||
upx_dir = "D:\\upx-3.96-win64" # Default dir for me :)
|
||||
else:
|
||||
upx_dir = input("UPX directory [D:\\upx-3.96-win32]: ")
|
||||
if upx_dir == '':
|
||||
upx_dir = "D:\\upx-3.96-win32" # Default dir for me :)
|
||||
print("upx_dir = " + upx_dir)
|
||||
print("\nUniversal CRT needs to be included if you don't want to run into compatibility issues when building on Windows 10. ( https://pyinstaller.readthedocs.io/en/stable/usage.html?highlight=sdk#windows )")
|
||||
if is_64bit == True:
|
||||
crt_path = input("Universal CRT: [C:\\Program Files (x86)\\Windows Kits\\10\\Redist\\10.0.19041.0\\ucrt\\DLLs\\x64]: ")
|
||||
if crt_path == '':
|
||||
crt_path = "C:\\Program Files (x86)\\Windows Kits\\10\\Redist\\10.0.19041.0\\ucrt\\DLLs\\x64" # Default directory.
|
||||
else:
|
||||
crt_path = input("Extra path: [C:\\Program Files (x86)\\Windows Kits\\10\\Redist\\10.0.19041.0\\ucrt\\DLLs\\x86]: ")
|
||||
if crt_path == '':
|
||||
crt_path = "C:\\Program Files (x86)\\Windows Kits\\10\\Redist\\10.0.19041.0\\ucrt\\DLLs\\x86" # Default directory.
|
||||
print("crt_path = " + crt_path)
|
||||
except KeyboardInterrupt as e:
|
||||
sys.exit("KeyboardInterrupt")
|
||||
|
||||
exclude_modules = ['collections.sys',
|
||||
'collections._sre',
|
||||
'collections._json',
|
||||
'collections._locale',
|
||||
'collections._struct',
|
||||
'collections.array',
|
||||
'collections._weakref',
|
||||
'PyQt5.QtMultimedia',
|
||||
'PyQt5.QtDBus',
|
||||
'PyQt5.QtDeclarative',
|
||||
'PyQt5.QtHelp',
|
||||
'PyQt5.QtNetwork',
|
||||
'PyQt5.QtSql',
|
||||
'PyQt5.QtSvg',
|
||||
'PyQt5.QtTest',
|
||||
'PyQt5.QtWebKit',
|
||||
'PyQt5.QtXml',
|
||||
'PyQt5.QtXmlPatterns',
|
||||
'PyQt5.phonon',
|
||||
'PyQt5.QtAssistant',
|
||||
'PyQt5.QtDesigner',
|
||||
'PyQt5.QAxContainer',]
|
||||
|
||||
add_data = ['quirks;quirks',
|
||||
'smilies;smilies',
|
||||
'themes;themes',
|
||||
'docs;docs',
|
||||
'README.md;.',
|
||||
'LICENSE;.',
|
||||
'CHANGELOG.md;.',
|
||||
'PCskins.png;.',
|
||||
'Pesterchum.png;.']
|
||||
|
||||
upx_exclude = ["qwindows.dll",
|
||||
"Qt5Core.dll",
|
||||
"Qt5Gui.dll",
|
||||
"vcruntime140.dll",
|
||||
"MSVCP140.dll",
|
||||
"MSVCP140_1.dll"
|
||||
"api-ms-win-core-console-l1-1-0.dll",\
|
||||
"api-ms-win-core-console-l1-1-0.dll",\
|
||||
"api-ms-win-core-console-l1-2-0.dll",\
|
||||
"api-ms-win-core-datetime-l1-1-0.dll",\
|
||||
"api-ms-win-core-debug-l1-1-0.dll",\
|
||||
"api-ms-win-core-errorhandling-l1-1-0.dll",\
|
||||
"api-ms-win-core-file-l1-1-0.dll",\
|
||||
"api-ms-win-core-file-l1-2-0.dll",\
|
||||
"api-ms-win-core-file-l2-1-0.dll",\
|
||||
"api-ms-win-core-handle-l1-1-0.dll",\
|
||||
"api-ms-win-core-heap-l1-1-0.dll",\
|
||||
"api-ms-win-core-interlocked-l1-1-0.dll",\
|
||||
"api-ms-win-core-libraryloader-l1-1-0.dll",\
|
||||
"api-ms-win-core-localization-l1-2-0.dll",\
|
||||
"api-ms-win-core-memory-l1-1-0.dll",\
|
||||
"api-ms-win-core-namedpipe-l1-1-0.dll",\
|
||||
"api-ms-win-core-processenvironment-l1-1-0.dll",\
|
||||
"api-ms-win-core-processthreads-l1-1-0.dll",\
|
||||
"api-ms-win-core-processthreads-l1-1-1.dll",\
|
||||
"api-ms-win-core-profile-l1-1-0.dll",\
|
||||
"api-ms-win-core-rtlsupport-l1-1-0.dll",\
|
||||
"api-ms-win-core-string-l1-1-0.dll",\
|
||||
"api-ms-win-core-synch-l1-1-0.dll",\
|
||||
"api-ms-win-core-synch-l1-2-0.dll",\
|
||||
"api-ms-win-core-sysinfo-l1-1-0.dll",\
|
||||
"api-ms-win-core-timezone-l1-1-0.dll",\
|
||||
"api-ms-win-core-util-l1-1-0.dll",\
|
||||
"API-MS-Win-core-xstate-l2-1-0.dll",\
|
||||
"api-ms-win-crt-conio-l1-1-0.dll",\
|
||||
"api-ms-win-crt-convert-l1-1-0.dll",\
|
||||
"api-ms-win-crt-environment-l1-1-0.dll",\
|
||||
"api-ms-win-crt-filesystem-l1-1-0.dll",\
|
||||
"api-ms-win-crt-heap-l1-1-0.dll",\
|
||||
"api-ms-win-crt-locale-l1-1-0.dll",\
|
||||
"api-ms-win-crt-math-l1-1-0.dll",\
|
||||
"api-ms-win-crt-multibyte-l1-1-0.dll",\
|
||||
"api-ms-win-crt-private-l1-1-0.dll",\
|
||||
"api-ms-win-crt-process-l1-1-0.dll",\
|
||||
"api-ms-win-crt-runtime-l1-1-0.dll",\
|
||||
"api-ms-win-crt-stdio-l1-1-0.dll",\
|
||||
"api-ms-win-crt-string-l1-1-0.dll",\
|
||||
"api-ms-win-crt-time-l1-1-0.dll",\
|
||||
"api-ms-win-crt-utility-l1-1-0.dll",\
|
||||
"ucrtbase.dll"]
|
||||
|
||||
#Windows
|
||||
if sys.platform == 'win32':
|
||||
run_win32 = [
|
||||
'pesterchum.py',
|
||||
'--name=Pesterchum',
|
||||
'--paths=%s' % crt_path,
|
||||
#'--noconfirm', # Overwrite output directory.
|
||||
'--upx-dir=%s' % upx_dir, # Set Upx directory. (I think it also works from path.)
|
||||
'--windowed', # Hide console
|
||||
#'--onefile',
|
||||
'--icon=pesterchum.ico',
|
||||
#'--clean', # Clear cache
|
||||
|
||||
#'--hidden-import=pkg_resources.py2_warn',
|
||||
#'--hidden-import=PyQt5.sip',
|
||||
|
||||
#'--add-data=quirks;quirks',
|
||||
#'--add-data=smilies;smilies',
|
||||
#'--add-data=themes;themes',
|
||||
#'--add-data=docs;docs',
|
||||
#'--add-data=README.md;.',
|
||||
#'--add-data=LICENSE;.',
|
||||
#'--add-data=CHANGELOG.md;.',
|
||||
#'--add-data=PCskins.png;.',
|
||||
#'--add-data=Pesterchum.png;.',
|
||||
|
||||
#'--upx-exclude=qwindows.dll',
|
||||
#'--upx-exclude=Qt5Multimedia.dll',
|
||||
#'--upx-exclude=Qt5Gui.dll',
|
||||
#'--upx-exclude=Qt5Core.dll',
|
||||
#'--upx-exclude=vcruntime140.dll',
|
||||
#'--upx-exclude=MSVCP140.dll',
|
||||
#'--upx-exclude=MSVCP140_1.dll',
|
||||
#'--upx-exclude=' + 'Qt5Multimedia.dll'.lower(),
|
||||
#'--upx-exclude=' + 'Qt5Gui.dll'.lower(),
|
||||
#'--upx-exclude=' + 'Qt5Core.dll'.lower(),
|
||||
#'--upx-exclude=' + 'vcruntime140.dll'.lower(),
|
||||
#'--upx-exclude=' + 'MSVCP140.dll'.lower()
|
||||
]
|
||||
|
||||
for x in upx_exclude:
|
||||
run_win32.append('--upx-exclude=%s' % x )
|
||||
# Lower case variants are required.
|
||||
run_win32.append('--upx-exclude=%s' % x.lower() )
|
||||
|
||||
for x in exclude_modules:
|
||||
run_win32.append('--exclude-module=%s' % x )
|
||||
|
||||
for x in add_data:
|
||||
run_win32.append('--add-data=%s' % x )
|
||||
|
||||
if os.path.exists(crt_path):
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-console-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-console-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-console-l1-2-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-datetime-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-debug-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-errorhandling-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-file-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-file-l1-2-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-file-l2-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-handle-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-heap-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-interlocked-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-libraryloader-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-localization-l1-2-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-memory-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-namedpipe-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-processenvironment-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-processthreads-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-processthreads-l1-1-1.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-profile-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-rtlsupport-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-string-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-synch-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-synch-l1-2-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-sysinfo-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-timezone-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-util-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\API-MS-Win-core-xstate-l2-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-crt-conio-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-crt-convert-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-crt-environment-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-crt-filesystem-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-crt-heap-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-crt-locale-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-crt-math-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-crt-multibyte-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-crt-private-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-crt-process-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-crt-runtime-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-crt-stdio-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-crt-string-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-crt-time-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-crt-utility-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\ucrtbase.dll;.' % crt_path)
|
||||
|
||||
PyInstaller.__main__.run(run_win32)
|
||||
#MacOS
|
||||
elif sys.platform == 'darwin' :
|
||||
run_darwin =[
|
||||
'pesterchum.py',
|
||||
'--windowed', # Hide console
|
||||
#'--noconfirm', # Overwrite output directory.
|
||||
'--icon=trayicon32.icns', # Icon
|
||||
|
||||
'--upx-dir=%s' % upx_dir # Set Upx directory. (I think it also works from path.)
|
||||
]
|
||||
|
||||
for x in upx_exclude:
|
||||
run_darwin.append('--upx-exclude=%s' % x )
|
||||
# Lower case variants are required.
|
||||
run_darwin.append('--upx-exclude=%s' % x.lower() )
|
||||
|
||||
for x in exclude_modules:
|
||||
run_darwin.append('--exclude-module=%s' % x )
|
||||
|
||||
for x in add_data:
|
||||
run_darwin.append('--add-data=%s' % x.replace(';',':') )
|
||||
|
||||
PyInstaller.__main__.run(run_darwin)
|
||||
#Linux
|
||||
elif sys.platform == 'linux' :
|
||||
run_linux =[
|
||||
'pesterchum.py',
|
||||
'--onedir', # Hide console
|
||||
#'--noconfirm', # Overwrite output directory.
|
||||
'--icon=trayicon32.icns', # Icon
|
||||
|
||||
'--upx-dir=%s' % upx_dir # Set Upx directory. (I think it also works from path.)
|
||||
]
|
||||
|
||||
for x in upx_exclude:
|
||||
run_linux.append('--upx-exclude=%s' % x )
|
||||
# Lower case variants are required.
|
||||
run_linux.append('--upx-exclude=%s' % x.lower() )
|
||||
|
||||
for x in exclude_modules:
|
||||
run_linux.append('--exclude-module=%s' % x )
|
||||
|
||||
for x in add_data:
|
||||
run_linux.append('--add-data=%s' % x.replace(';',':') )
|
||||
|
||||
PyInstaller.__main__.run(run_linux)
|
||||
else:
|
||||
print("Unknown platform.")
|
||||
|
||||
run_generic =[
|
||||
'pesterchum.py',
|
||||
'--upx-dir=%s' % upx_dir # Set Upx directory. (I think it also works from path.)
|
||||
]
|
||||
|
||||
for x in upx_exclude:
|
||||
run_generic.append('--upx-exclude=%s' % x )
|
||||
# Lower case variants are required.
|
||||
run_generic.append('--upx-exclude=%s' % x.lower() )
|
||||
|
||||
for x in exclude_modules:
|
||||
run_generic.append('--exclude-module=%s' % x )
|
||||
|
||||
for x in add_data:
|
||||
run_generic.append('--add-data=%s' % x.replace(';',':') )
|
||||
|
||||
PyInstaller.__main__.run(run_generic)
|
1
setup.py
1
setup.py
|
@ -27,7 +27,6 @@ build_exe_options = {
|
|||
"includes": [""],
|
||||
## "includes": ["PyQt5.QtCore",
|
||||
## "PyQt5.QtGui",
|
||||
## "PyQt5.QtMultimedia",
|
||||
## "PyQt5.QtWidgets",
|
||||
## "pygame",
|
||||
## "feedparser",
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
_pcVersion = "Alt. v2.1.2"
|
||||
buildVersion = "v2.1.2"
|
||||
_pcVersion = "Alt. v2.1.3"
|
||||
buildVersion = "v2.1.3"
|
||||
|
|
Loading…
Reference in a new issue