Issue #17177: Stop using imp with py_compile

This commit is contained in:
Brett Cannon 2013-06-15 14:07:21 -04:00
parent fc06443c98
commit df960682a5
2 changed files with 6 additions and 5 deletions

View File

@ -3,9 +3,9 @@
This module has intimate knowledge of the format of .pyc files. This module has intimate knowledge of the format of .pyc files.
""" """
import imp
import importlib._bootstrap import importlib._bootstrap
import importlib.machinery import importlib.machinery
import importlib.util
import os import os
import os.path import os.path
import sys import sys
@ -105,9 +105,10 @@ def compile(file, cfile=None, dfile=None, doraise=False, optimize=-1):
""" """
if cfile is None: if cfile is None:
if optimize >= 0: if optimize >= 0:
cfile = imp.cache_from_source(file, debug_override=not optimize) cfile = importlib.util.cache_from_source(file,
debug_override=not optimize)
else: else:
cfile = imp.cache_from_source(file) cfile = importlib.util.cache_from_source(file)
if os.path.islink(cfile): if os.path.islink(cfile):
msg = ('{} is a symlink and will be changed into a regular file if ' msg = ('{} is a symlink and will be changed into a regular file if '
'import writes a byte-compiled file to it') 'import writes a byte-compiled file to it')

View File

@ -1,4 +1,4 @@
import imp import importlib.util
import os import os
import py_compile import py_compile
import shutil import shutil
@ -14,7 +14,7 @@ class PyCompileTests(unittest.TestCase):
self.directory = tempfile.mkdtemp() self.directory = tempfile.mkdtemp()
self.source_path = os.path.join(self.directory, '_test.py') self.source_path = os.path.join(self.directory, '_test.py')
self.pyc_path = self.source_path + 'c' self.pyc_path = self.source_path + 'c'
self.cache_path = imp.cache_from_source(self.source_path) self.cache_path = importlib.util.cache_from_source(self.source_path)
self.cwd_drive = os.path.splitdrive(os.getcwd())[0] self.cwd_drive = os.path.splitdrive(os.getcwd())[0]
# In these tests we compute relative paths. When using Windows, the # In these tests we compute relative paths. When using Windows, the
# current working directory path and the 'self.source_path' might be # current working directory path and the 'self.source_path' might be