mirror of https://github.com/python/cpython
Puts compiled pyc files into embedded library ZIP file instead of sources.
This commit is contained in:
parent
b3ca31f5f1
commit
08b1817fd8
|
@ -1,4 +1,5 @@
|
|||
import argparse
|
||||
import py_compile
|
||||
import re
|
||||
import sys
|
||||
import shutil
|
||||
|
@ -82,6 +83,15 @@ def copy_to_layout(target, rel_sources):
|
|||
|
||||
with ZipFile(str(target), 'w', ZIP_DEFLATED) as f:
|
||||
for s, rel in rel_sources:
|
||||
if rel.suffix.lower() == '.py':
|
||||
pyc = Path(tempfile.gettempdir()) / rel.with_suffix('.pyc').name
|
||||
try:
|
||||
py_compile.compile(str(s), str(pyc), str(rel), doraise=True, optimize=2)
|
||||
except py_compile.PyCompileError:
|
||||
f.write(str(s), str(rel))
|
||||
else:
|
||||
f.write(str(pyc), str(rel.with_suffix('.pyc')))
|
||||
else:
|
||||
f.write(str(s), str(rel))
|
||||
count += 1
|
||||
|
||||
|
|
Loading…
Reference in New Issue