diff --git a/docs/other/auto2to3.py b/docs/other/auto2to3.py index 3abd3703..1f56aa14 100644 --- a/docs/other/auto2to3.py +++ b/docs/other/auto2to3.py @@ -19,7 +19,11 @@ import argparse import os import sys -import imp +# imp was deprecated in python 3.6 +if sys.version_info >= (3, 6): + import importlib as imp +else: + import imp import runpy from io import StringIO from pkgutil import ImpImporter, ImpLoader diff --git a/src/future/standard_library/__init__.py b/src/future/standard_library/__init__.py index 17fcfbfc..9c0df3eb 100644 --- a/src/future/standard_library/__init__.py +++ b/src/future/standard_library/__init__.py @@ -62,6 +62,11 @@ import sys import logging +# imp was deprecated in python 3.6 +if sys.version_info >= (3, 6): + import importlib as imp +else: + import imp import contextlib import copy import os @@ -77,9 +82,6 @@ from future.utils import PY2, PY3 -if PY2: - import imp - # The modules that are defined under the same names on Py3 but with # different contents in a significant way (e.g. submodules) are: # pickle (fast one) diff --git a/src/past/builtins/misc.py b/src/past/builtins/misc.py index 3600695c..0b8e6a98 100644 --- a/src/past/builtins/misc.py +++ b/src/past/builtins/misc.py @@ -1,11 +1,13 @@ from __future__ import unicode_literals import inspect +import sys import math import numbers from future.utils import PY2, PY3, exec_ + if PY2: from collections import Mapping else: @@ -103,13 +105,12 @@ def oct(number): return '0' + builtins.oct(number)[2:] raw_input = input - - try: + # imp was deprecated in python 3.6 + if sys.version_info >= (3, 6): from importlib import reload - except ImportError: + else: # for python2, python3 <= 3.4 from imp import reload - unicode = str unichr = chr xrange = range diff --git a/src/past/translation/__init__.py b/src/past/translation/__init__.py index db96982b..ae6c0d90 100644 --- a/src/past/translation/__init__.py +++ b/src/past/translation/__init__.py @@ -32,9 +32,14 @@ Inspired by and based on ``uprefix`` by Vinay M. Sajip. """ +import sys +# imp was deprecated in python 3.6 +if sys.version_info >= (3, 6): + import importlib as imp +else: + import imp import logging import os -import sys import copy from lib2to3.pgen2.parse import ParseError from lib2to3.refactor import RefactoringTool diff --git a/tests/test_future/test_standard_library.py b/tests/test_future/test_standard_library.py index 17c6be0c..e81a4d80 100644 --- a/tests/test_future/test_standard_library.py +++ b/tests/test_future/test_standard_library.py @@ -447,11 +447,12 @@ def test_reload(self): """ reload has been moved to the imp module """ - try: - from importlib import reload - except ImportError: - from imp import reload - reload(sys) + # imp was deprecated in python 3.6 + if sys.version_info >= (3, 6): + import importlib as imp + else: + import imp + imp.reload(sys) self.assertTrue(True) def test_install_aliases(self):