Issue #17177: Stop using imp in distutils
This commit is contained in:
parent
7822e123c4
commit
61c3556c14
|
@ -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 @@ class build_py (Command):
|
|||
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)
|
||||
|
|
|
@ -4,7 +4,7 @@ Implements the Distutils 'install_lib' command
|
|||
(install all Python modules)."""
|
||||
|
||||
import os
|
||||
import imp
|
||||
import importlib.util
|
||||
import sys
|
||||
|
||||
from distutils.core import Command
|
||||
|
@ -165,10 +165,10 @@ class install_lib(Command):
|
|||
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
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
"""Tests for distutils.command.bdist_dumb."""
|
||||
|
||||
import os
|
||||
import imp
|
||||
import sys
|
||||
import zipfile
|
||||
import unittest
|
||||
|
@ -88,7 +87,7 @@ class BuildDumbTestCase(support.TempdirManager,
|
|||
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():
|
||||
|
|
|
@ -2,7 +2,6 @@
|
|||
|
||||
import os
|
||||
import sys
|
||||
import imp
|
||||
import unittest
|
||||
|
||||
from distutils.command.build_py import build_py
|
||||
|
@ -63,7 +62,8 @@ class BuildPyTestCase(support.TempdirManager,
|
|||
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 @@ class BuildPyTestCase(support.TempdirManager,
|
|||
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 @@ class BuildPyTestCase(support.TempdirManager,
|
|||
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
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
"""Tests for distutils.command.install."""
|
||||
|
||||
import os
|
||||
import imp
|
||||
import sys
|
||||
import unittest
|
||||
import site
|
||||
|
@ -193,7 +192,8 @@ class InstallTestCase(support.TempdirManager,
|
|||
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)
|
||||
|
||||
|
|
|
@ -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 @@ class InstallLibTestCase(support.TempdirManager,
|
|||
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))
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@ one of the other *util.py modules.
|
|||
|
||||
import os
|
||||
import re
|
||||
import imp
|
||||
import importlib.util
|
||||
import sys
|
||||
import string
|
||||
from distutils.errors import DistutilsPlatformError
|
||||
|
@ -453,9 +453,10 @@ byte_compile(files, optimize=%r, force=%r,
|
|||
# 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:
|
||||
|
|
Loading…
Reference in New Issue