From 9991dd6ce440b9d38da566a533ff5a54caae4a8e Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Tue, 20 Nov 2018 08:42:08 +0530 Subject: [PATCH] Generate hash based .pyc files when building Fixes #1155 --- setup.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/setup.py b/setup.py index eb077c4f4..2a2543a44 100755 --- a/setup.py +++ b/setup.py @@ -576,6 +576,7 @@ make && make docs def compile_python(base_path): import compileall + import py_compile try: from multiprocessing import cpu_count num_workers = max(1, cpu_count()) @@ -585,7 +586,10 @@ def compile_python(base_path): for f in files: if f.rpartition('.')[-1] in ('pyc', 'pyo'): os.remove(os.path.join(root, f)) - compileall.compile_dir(base_path, ddir='', force=True, optimize=1, quiet=1, workers=num_workers) + kwargs = dict(ddir='', force=True, optimize=1, quiet=1, workers=num_workers) + if hasattr(py_compile, 'PycInvalidationMode'): + kwargs['invalidation_mode'] = py_compile.PycInvalidationMode.UNCHECKED_HASH + compileall.compile_dir(base_path, **kwargs) def package(args, for_bundle=False, sh_launcher=False):