Well, I find that it is easier to edit a standing spec file and using the same command line instead of writing a new command line each time I want to build a distro. It creates a spec file from the command line if you don’t specify one anyway.
(My spec file is very complicated because I compile the majority of my code into .pyd files with cython and pyinstaller can’t read the imports from those files so, there is a lot of editing to manually include the imports.)
I don’t specify a code because my icon file has only one icon it. If you have an icon as an image, you can convert to an .ico file here: http://converticon.com/
An simple example of a spec with no console and an icon would look like this:
a = Analysis(['desktopSR.py'],
pathex=['G:\\PyCharmProjects2\\DesktopSR'],
hiddenimports=[],
hookspath=None,
runtime_hooks=None,
excludes=None)
pyz = PYZ(a.pure)
exe = EXE(pyz,
a.scripts,
exclude_binaries=True,
name='desktopSR.exe',
debug=False,
strip=None,
upx=True,
console=False,
version='file_version_info.txt',
icon='DesktopSR.ico' )
coll = COLLECT(exe,
a.binaries,
a.zipfiles,
a.datas,
strip=None,
upx=True,
name='desktopSR')
``