-
Notifications
You must be signed in to change notification settings - Fork 230
/
precise.template.spec
75 lines (64 loc) · 1.69 KB
/
precise.template.spec
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
# -*- mode: python -*-
block_cipher = None
from glob import iglob
from os.path import basename, dirname, abspath
import os
import fnmatch
script_name = '%%SCRIPT%%'
train_libs = %%TRAIN_LIBS%%
strip = True
site_packages = '.venv/lib/python3.6/site-packages/'
hidden_imports = ['prettyparse', 'speechpy']
binaries = []
def recursive_glob(treeroot, pattern):
results = []
for base, dirs, files in os.walk(treeroot):
goodfiles = fnmatch.filter(files, pattern)
results.extend(os.path.join(base, f) for f in goodfiles)
return results
if train_libs:
binaries = [
(abspath(i), dirname(i.replace(site_packages, '')))
for i in recursive_glob(site_packages + "tensorflow/", "*.so")
]
hidden_imports += ['h5py']
a = Analysis(
[abspath('precise/scripts/{}.py'.format(script_name))],
pathex=['.'],
binaries=binaries,
datas=[],
hiddenimports=hidden_imports,
hookspath=[],
runtime_hooks=[],
excludes=['PySide', 'PyQt4', 'PyQt5', 'matplotlib'],
win_no_prefer_redirects=False,
win_private_assemblies=False,
cipher=block_cipher
)
for i in range(len(a.binaries)):
dest, origin, kind = a.binaries[i]
if '_pywrap_tensorflow_internal' in dest:
a.binaries[i] = ('tensorflow.python.' + dest, origin, kind)
pyz = PYZ(
a.pure, a.zipped_data,
cipher=block_cipher
)
exe = EXE(
pyz,
a.scripts,
exclude_binaries=True,
name='precise-{}'.format(script_name.replace('_', '-')),
debug=False,
strip=strip,
upx=True,
console=True
)
coll = COLLECT(
exe,
a.binaries,
a.zipfiles,
a.datas,
strip=strip,
upx=True,
name='precise-{}'.format(script_name.replace('_', '-'))
)