33# Tested with pyinstaller 3.4, python 3.7.2, linux x86_64
44# NOT tested with SSL
55
6- block_cipher = None
7-
8- USE_NUMPY = False
6+ # Set to True to bring in numpy if available (increases output package size by ~45MB on linux64/python3.7).
7+ # If False it will be left out
8+ USE_NUMPY = True
99
10+ # Get debug messages by pyinstaller bootloader
1011DEBUG = False
12+
13+ # Explicitly excluded modules
14+ excludes = []
15+
16+ # It is possible to reduce the resulting package size (~3MB on linux64/python3.7)
17+ # by excluding unused encodings.
18+ # By default (as of pyinstaller 3.4/python 3.7) all encodings are pulled in:
19+ # the following list can be used to reduce the encodings pulled in to the bare minimum.
20+ # You should include the target platform encoding or call locale.setlocale(locale.LC_ALL, 'C')
21+ # early in websockify_init()
22+ #
23+ # These are required:
24+ # - 'encodings.base64_codec' This is required when payload is b64 encoded, don't exclude
25+ # - 'encodings' Father package must also be included
26+ # - 'encodings.aliases' Required, see initstdio() function in cPython sources
27+ # - 'encodings.utf_8'
28+ # - 'encodings.latin_1'
29+ # - 'encodings.ascii' Required by some cascaded import from http
30+ # - encodings.idna' Required by <I don't know>
31+ # excludes.extend(('encodings.undefined', 'encodings.utf_32_be', 'encodings.utf_32',
32+ # 'encodings.utf_16_le', 'encodings.utf_16_be', 'encodings.utf_16', 'encodings.utf_32_le',
33+ # 'encodings.zlib_codec', 'encodings.euc_jis_2004', 'encodings.ptcp154', 'encodings.cp874',
34+ # 'encodings.cp424',
35+ # 'encodings.iso2022_jp_2', 'encodings.euc_jp', 'encodings.mac_arabic', 'encodings.shift_jis',
36+ # 'encodings.utf_7', 'encodings.cp866', 'encodings.cp855', 'encodings.rot_13', 'encodings.cp1006',
37+ # 'encodings.johab', 'encodings.cp865', 'encodings.mac_cyrillic', 'encodings.cp737', 'encodings.kz1048',
38+ # 'encodings.cp1256', 'encodings.cp1252', 'encodings.hp_roman8', 'encodings.cp1026', 'encodings.iso8859_6',
39+ # 'encodings.hz', 'encodings.shift_jisx0213', 'encodings.cp500', 'encodings.palmos', 'encodings.euc_jisx0213',
40+ # 'encodings.cp864', 'encodings.cp875', 'encodings.mac_iceland', 'encodings.cp856', 'encodings.big5',
41+ # 'encodings.iso2022_jp_ext', 'encodings.charmap', 'encodings.iso8859_7', 'encodings.cp852',
42+ # 'encodings.mac_croatian', 'encodings.bz2_codec', 'encodings.cp863', 'encodings.iso8859_14',
43+ # 'encodings.cp65001', 'encodings.cp1254', 'encodings.iso2022_jp_2004', 'encodings.cp932',
44+ # 'encodings.raw_unicode_escape', 'encodings.mac_romanian', 'encodings.gb18030', 'encodings.cp1257',
45+ # 'encodings.mac_latin2', 'encodings.iso2022_kr', 'encodings.shift_jis_2004', 'encodings.cp850',
46+ # 'encodings.iso2022_jp_1', 'encodings.cp862', 'encodings.iso8859_15', 'encodings.hex_codec',
47+ # 'encodings.cp857', 'encodings.iso8859_4', 'encodings.mac_roman', 'encodings.cp1250',
48+ # 'encodings.iso8859_9', 'encodings.mbcs', 'encodings.mac_greek',
49+ # 'encodings.cp1125', 'encodings.koi8_u', 'encodings.cp273', 'encodings.big5hkscs', 'encodings.cp1140',
50+ # 'encodings.utf_8_sig', 'encodings.iso8859_13', 'encodings.tis_620', 'encodings.cp037',
51+ # 'encodings.iso2022_jp_3', 'encodings.cp861', 'encodings.mac_farsi', 'encodings.iso8859_1',
52+ # 'encodings.cp869', 'encodings.iso8859_8', 'encodings.unicode_internal',
53+ # 'encodings.iso8859_3', 'encodings.cp720', 'encodings.koi8_r', 'encodings.cp437', 'encodings.cp858',
54+ # 'encodings.euc_kr', 'encodings.iso8859_2', 'encodings.cp1251', 'encodings.cp950', 'encodings.gbk',
55+ # 'encodings.cp775', 'encodings.unicode_escape', 'encodings.quopri_codec', 'encodings.cp860',
56+ # 'encodings.koi8_t', 'encodings.uu_codec', 'encodings.cp1253', 'encodings.iso8859_5',
57+ # 'encodings.mac_centeuro', 'encodings.iso8859_11', 'encodings.iso8859_16', 'encodings.iso8859_10',
58+ # 'encodings.gb2312', 'encodings.iso2022_jp', 'encodings.mac_turkish',
59+ # 'encodings.cp1255', 'encodings.cp949', 'encodings.cp1258', 'encodings.punycode'))
60+
61+ # Also some other modules may be safely left out (save ~2MB on linux64/python3.7)
62+ # excludes.extend(('bz2', 'curses', 'decimal', 'grp', 'gzip', 'json', 'lzma', 'pdb', 'pkg_resources',
63+ # 'plistlib', 'pyexpat', 'readline', 'termios', 'uuid', 'xml', 'zlib'))
64+
65+ block_cipher = None
1166CONSOLE = True
1267
13- excludes = [
14- # By default all encodings are pulled in, try to exclude non-relevant ones
15- # This is required when payload is b64 encoded, don't exclude
16- # 'encodings.base64_codec'
17- # Father package must also be included
18- # 'encodings'
19- # Required, see initstdio() function in cPython sources
20- # 'encodings.aliases'
21- # 'encodings.utf_8'
22- # 'encodings.latin_1'
23- # Required by some cascaded import from http
24- # 'encodings.ascii'
25- # Required by <I don't know>
26- # 'encodings.idna'
27- 'encodings.undefined' ,
28- 'encodings.utf_32_be' ,
29- 'encodings.utf_32' ,
30- 'encodings.utf_16_le' ,
31- 'encodings.utf_16_be' ,
32- 'encodings.utf_16' ,
33- 'encodings.utf_32_le' ,
34- 'encodings.zlib_codec' ,
35- 'encodings.euc_jis_2004' , 'encodings.ptcp154' , 'encodings.cp874' , 'encodings.cp424' ,
36- 'encodings.iso2022_jp_2' , 'encodings.euc_jp' , 'encodings.mac_arabic' , 'encodings.shift_jis' ,
37- 'encodings.utf_7' , 'encodings.cp866' , 'encodings.cp855' , 'encodings.rot_13' , 'encodings.cp1006' ,
38- 'encodings.johab' , 'encodings.cp865' , 'encodings.mac_cyrillic' , 'encodings.cp737' , 'encodings.kz1048' ,
39- 'encodings.cp1256' , 'encodings.cp1252' , 'encodings.hp_roman8' , 'encodings.cp1026' , 'encodings.iso8859_6' ,
40- 'encodings.hz' , 'encodings.shift_jisx0213' , 'encodings.cp500' , 'encodings.palmos' , 'encodings.euc_jisx0213' ,
41- 'encodings.cp864' , 'encodings.cp875' , 'encodings.mac_iceland' , 'encodings.cp856' , 'encodings.big5' ,
42- 'encodings.iso2022_jp_ext' , 'encodings.charmap' , 'encodings.iso8859_7' , 'encodings.cp852' ,
43- 'encodings.mac_croatian' , 'encodings.bz2_codec' , 'encodings.cp863' , 'encodings.iso8859_14' ,
44- 'encodings.cp65001' , 'encodings.cp1254' , 'encodings.iso2022_jp_2004' , 'encodings.cp932' ,
45- 'encodings.raw_unicode_escape' , 'encodings.mac_romanian' , 'encodings.gb18030' , 'encodings.cp1257' ,
46- 'encodings.mac_latin2' , 'encodings.iso2022_kr' , 'encodings.shift_jis_2004' , 'encodings.cp850' ,
47- 'encodings.iso2022_jp_1' , 'encodings.cp862' , 'encodings.iso8859_15' , 'encodings.hex_codec' ,
48- 'encodings.cp857' , 'encodings.iso8859_4' , 'encodings.mac_roman' , 'encodings.cp1250' ,
49- 'encodings.iso8859_9' , 'encodings.mbcs' , 'encodings.mac_greek' ,
50- 'encodings.cp1125' , 'encodings.koi8_u' , 'encodings.cp273' , 'encodings.big5hkscs' , 'encodings.cp1140' ,
51- 'encodings.utf_8_sig' , 'encodings.iso8859_13' , 'encodings.tis_620' , 'encodings.cp037' ,
52- 'encodings.iso2022_jp_3' , 'encodings.cp861' , 'encodings.mac_farsi' , 'encodings.iso8859_1' ,
53- 'encodings.cp869' , 'encodings.iso8859_8' , 'encodings.unicode_internal' ,
54- 'encodings.iso8859_3' , 'encodings.cp720' , 'encodings.koi8_r' , 'encodings.cp437' , 'encodings.cp858' ,
55- 'encodings.euc_kr' , 'encodings.iso8859_2' , 'encodings.cp1251' , 'encodings.cp950' , 'encodings.gbk' ,
56- 'encodings.cp775' , 'encodings.unicode_escape' , 'encodings.quopri_codec' , 'encodings.cp860' ,
57- 'encodings.koi8_t' , 'encodings.uu_codec' , 'encodings.cp1253' , 'encodings.iso8859_5' ,
58- 'encodings.mac_centeuro' , 'encodings.iso8859_11' , 'encodings.iso8859_16' , 'encodings.iso8859_10' ,
59- 'encodings.gb2312' , 'encodings.iso2022_jp' , 'encodings.mac_turkish' ,
60- 'encodings.cp1255' , 'encodings.cp949' , 'encodings.cp1258' , 'encodings.punycode' ,
61- # Apparently required??? by numpy
62- # 'unittest'
63- # Other redundant stuff
64- 'bz2' ,
65- 'curses' ,
66- 'decimal' ,
67- 'grp' ,
68- 'gzip' ,
69- 'json' ,
70- 'lzma' ,
71- 'pdb' ,
72- 'pkg_resources' ,
73- 'plistlib' ,
74- 'pyexpat' ,
75- 'readline' ,
76- 'termios' ,
77- 'uuid' ,
78- 'xml' ,
79- 'zlib'
80- ]
8168if not USE_NUMPY :
82- excludes .append ("numpy" )
69+ # Apparently unittes is required??? by numpy
70+ excludes .extend (("numpy" , "unittest" ))
8371
8472hiddenimports = []
8573
8674a = Analysis (
8775 ['run' ],
8876 pathex = [],
8977 binaries = [],
90- datas = [
91- ("docs" , "docs" ),
92- ],
78+ datas = [("docs" , "docs" ),],
9379 hiddenimports = hiddenimports ,
9480 hookspath = [],
9581 runtime_hooks = [],
@@ -111,11 +97,6 @@ exe = EXE(
11197 console = CONSOLE
11298)
11399coll = COLLECT (
114- exe ,
115- a .binaries ,
116- a .zipfiles ,
117- a .datas ,
118- strip = False ,
119- upx = False ,
120- name = 'websockify'
100+ exe , a .binaries , a .zipfiles , a .datas ,
101+ strip = False , upx = False , name = 'websockify'
121102)
0 commit comments