(original) (raw)
changeset: 84141:30aa032c4bd0 user: Brett Cannon brett@python.org date: Sat Jun 15 12:59:53 2013 -0400 files: Lib/distutils/command/build_py.py Lib/distutils/command/install_lib.py Lib/distutils/tests/test_bdist_dumb.py Lib/distutils/tests/test_build_py.py Lib/distutils/tests/test_install.py Lib/distutils/tests/test_install_lib.py Lib/distutils/util.py description: Issue #17177: Stop using imp in distutils diff -r cc27d50bd91a -r 30aa032c4bd0 Lib/distutils/command/build_py.py --- a/Lib/distutils/command/build_py.py Fri Jun 14 23:04:02 2013 -0400 +++ b/Lib/distutils/command/build_py.py Sat Jun 15 12:59:53 2013 -0400 @@ -3,7 +3,7 @@ Implements the Distutils 'build_py' command.""" import os -import imp +import importlib.util import sys from glob import glob @@ -312,11 +312,11 @@ outputs.append(filename) if include_bytecode: if self.compile: - outputs.append(imp.cache_from_source(filename, - debug_override=True)) + outputs.append(importlib.util.cache_from_source( + filename, debug_override=True)) if self.optimize > 0: - outputs.append(imp.cache_from_source(filename, - debug_override=False)) + outputs.append(importlib.util.cache_from_source( + filename, debug_override=False)) outputs += [ os.path.join(build_dir, filename) diff -r cc27d50bd91a -r 30aa032c4bd0 Lib/distutils/command/install_lib.py --- a/Lib/distutils/command/install_lib.py Fri Jun 14 23:04:02 2013 -0400 +++ b/Lib/distutils/command/install_lib.py Sat Jun 15 12:59:53 2013 -0400 @@ -4,7 +4,7 @@ (install all Python modules).""" import os -import imp +import importlib.util import sys from distutils.core import Command @@ -165,10 +165,10 @@ if ext != PYTHON_SOURCE_EXTENSION: continue if self.compile: - bytecode_files.append(imp.cache_from_source( + bytecode_files.append(importlib.util.cache_from_source( py_file, debug_override=True)) if self.optimize > 0: - bytecode_files.append(imp.cache_from_source( + bytecode_files.append(importlib.util.cache_from_source( py_file, debug_override=False)) return bytecode_files diff -r cc27d50bd91a -r 30aa032c4bd0 Lib/distutils/tests/test_bdist_dumb.py --- a/Lib/distutils/tests/test_bdist_dumb.py Fri Jun 14 23:04:02 2013 -0400 +++ b/Lib/distutils/tests/test_bdist_dumb.py Sat Jun 15 12:59:53 2013 -0400 @@ -1,7 +1,6 @@ """Tests for distutils.command.bdist_dumb.""" import os -import imp import sys import zipfile import unittest @@ -88,7 +87,7 @@ contents = sorted(os.path.basename(fn) for fn in contents) wanted = ['foo-0.1-py%s.%s.egg-info' % sys.version_info[:2], 'foo.py'] if not sys.dont_write_bytecode: - wanted.append('foo.%s.pyc' % imp.get_tag()) + wanted.append('foo.%s.pyc' % sys.implementation.cache_tag) self.assertEqual(contents, sorted(wanted)) def test_suite(): diff -r cc27d50bd91a -r 30aa032c4bd0 Lib/distutils/tests/test_build_py.py --- a/Lib/distutils/tests/test_build_py.py Fri Jun 14 23:04:02 2013 -0400 +++ b/Lib/distutils/tests/test_build_py.py Sat Jun 15 12:59:53 2013 -0400 @@ -2,7 +2,6 @@ import os import sys -import imp import unittest from distutils.command.build_py import build_py @@ -63,7 +62,8 @@ self.assertFalse(os.path.exists(pycache_dir)) else: pyc_files = os.listdir(pycache_dir) - self.assertIn("__init__.%s.pyc" % imp.get_tag(), pyc_files) + self.assertIn("__init__.%s.pyc" % sys.implementation.cache_tag, + pyc_files) def test_empty_package_dir(self): # See bugs #1668596/#1720897 @@ -102,7 +102,8 @@ found = os.listdir(cmd.build_lib) self.assertEqual(sorted(found), ['__pycache__', 'boiledeggs.py']) found = os.listdir(os.path.join(cmd.build_lib, '__pycache__')) - self.assertEqual(found, ['boiledeggs.%s.pyc' % imp.get_tag()]) + self.assertEqual(found, + ['boiledeggs.%s.pyc' % sys.implementation.cache_tag]) @unittest.skipIf(sys.dont_write_bytecode, 'byte-compile disabled') def test_byte_compile_optimized(self): @@ -119,7 +120,8 @@ found = os.listdir(cmd.build_lib) self.assertEqual(sorted(found), ['__pycache__', 'boiledeggs.py']) found = os.listdir(os.path.join(cmd.build_lib, '__pycache__')) - self.assertEqual(sorted(found), ['boiledeggs.%s.pyo' % imp.get_tag()]) + self.assertEqual(sorted(found), + ['boiledeggs.%s.pyo' % sys.implementation.cache_tag]) def test_dont_write_bytecode(self): # makes sure byte_compile is not used diff -r cc27d50bd91a -r 30aa032c4bd0 Lib/distutils/tests/test_install.py --- a/Lib/distutils/tests/test_install.py Fri Jun 14 23:04:02 2013 -0400 +++ b/Lib/distutils/tests/test_install.py Sat Jun 15 12:59:53 2013 -0400 @@ -1,7 +1,6 @@ """Tests for distutils.command.install.""" import os -import imp import sys import unittest import site @@ -193,7 +192,8 @@ f.close() found = [os.path.basename(line) for line in content.splitlines()] - expected = ['hello.py', 'hello.%s.pyc' % imp.get_tag(), 'sayhi', + expected = ['hello.py', 'hello.%s.pyc' % sys.implementation.cache_tag, + 'sayhi', 'UNKNOWN-0.0.0-py%s.%s.egg-info' % sys.version_info[:2]] self.assertEqual(found, expected) diff -r cc27d50bd91a -r 30aa032c4bd0 Lib/distutils/tests/test_install_lib.py --- a/Lib/distutils/tests/test_install_lib.py Fri Jun 14 23:04:02 2013 -0400 +++ b/Lib/distutils/tests/test_install_lib.py Sat Jun 15 12:59:53 2013 -0400 @@ -1,7 +1,7 @@ """Tests for distutils.command.install_data.""" import sys import os -import imp +import importlib.util import unittest from distutils.command.install_lib import install_lib @@ -44,8 +44,10 @@ f = os.path.join(project_dir, 'foo.py') self.write_file(f, '# python file') cmd.byte_compile([f]) - pyc_file = imp.cache_from_source('foo.py', debug_override=True) - pyo_file = imp.cache_from_source('foo.py', debug_override=False) + pyc_file = importlib.util.cache_from_source('foo.py', + debug_override=True) + pyo_file = importlib.util.cache_from_source('foo.py', + debug_override=False) self.assertTrue(os.path.exists(pyc_file)) self.assertTrue(os.path.exists(pyo_file)) diff -r cc27d50bd91a -r 30aa032c4bd0 Lib/distutils/util.py --- a/Lib/distutils/util.py Fri Jun 14 23:04:02 2013 -0400 +++ b/Lib/distutils/util.py Sat Jun 15 12:59:53 2013 -0400 @@ -6,7 +6,7 @@ import os import re -import imp +import importlib.util import sys import string from distutils.errors import DistutilsPlatformError @@ -453,9 +453,10 @@ # cfile - byte-compiled file # dfile - purported source filename (same as 'file' by default) 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: - cfile = imp.cache_from_source(file) + cfile = importlib.util.cache_from_source(file) dfile = file if prefix: if file[:len(prefix)] != prefix: /brett@python.org