mirror of
https://github.com/python/cpython.git
synced 2025-07-19 01:05:26 +00:00
Fix packaging byte-compilation to comply with PEP 3147 (#11254).
I want to replace custom byte-compiling function with calls to compileall before 3.3b1, but in the short term it’s good to have this fixed. Adapted from the distutils patch by Jeff Ramnani. I tested with -B, -O and -OO; test_util and test_mixin2to3 fail in -O mode because lib2to3 doesn’t support it.
This commit is contained in:
parent
73b1e7dd20
commit
a29e4f64c1
5 changed files with 26 additions and 12 deletions
|
@ -3,6 +3,7 @@
|
|||
import os
|
||||
import re
|
||||
import csv
|
||||
import imp
|
||||
import sys
|
||||
import errno
|
||||
import shutil
|
||||
|
@ -296,7 +297,7 @@ def strtobool(val):
|
|||
def byte_compile(py_files, optimize=0, force=False, prefix=None,
|
||||
base_dir=None, verbose=0, dry_run=False, direct=None):
|
||||
"""Byte-compile a collection of Python source files to either .pyc
|
||||
or .pyo files in the same directory.
|
||||
or .pyo files in a __pycache__ subdirectory.
|
||||
|
||||
'py_files' is a list of files to compile; any files that don't end in
|
||||
".py" are silently skipped. 'optimize' must be one of the following:
|
||||
|
@ -415,7 +416,10 @@ byte_compile(files, optimize=%r, force=%r,
|
|||
# Terminology from the py_compile module:
|
||||
# cfile - byte-compiled file
|
||||
# dfile - purported source filename (same as 'file' by default)
|
||||
cfile = file + (__debug__ and "c" or "o")
|
||||
if optimize >= 0:
|
||||
cfile = imp.cache_from_source(file, debug_override=not optimize)
|
||||
else:
|
||||
cfile = imp.cache_from_source(file)
|
||||
dfile = file
|
||||
if prefix:
|
||||
if file[:len(prefix)] != prefix:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue