From 05bc771c8d8770da5b7e82db77078e6b2fef8146 Mon Sep 17 00:00:00 2001 From: Joseph Curtis Date: Wed, 16 Sep 2020 11:22:09 -0700 Subject: [PATCH 1/2] Update imp to importlib for py3 --- docs/other/auto2to3.py | 6 +++++- src/future/backports/test/support.py | 6 +++++- src/future/standard_library/__init__.py | 6 +++++- src/past/builtins/misc.py | 3 ++- src/past/translation/__init__.py | 8 ++++++-- tests/test_future/test_standard_library.py | 6 +++++- 6 files changed, 28 insertions(+), 7 deletions(-) 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/backports/test/support.py b/src/future/backports/test/support.py index 1999e208..4e05e972 100644 --- a/src/future/backports/test/support.py +++ b/src/future/backports/test/support.py @@ -28,7 +28,11 @@ # import collections.abc # not present on Py2.7 import re import subprocess -import imp +# imp was deprecated in python 3.6 +if sys.version_info >= (3, 6): + import importlib as imp +else: + import imp import time try: import sysconfig diff --git a/src/future/standard_library/__init__.py b/src/future/standard_library/__init__.py index cff02f95..0a447871 100644 --- a/src/future/standard_library/__init__.py +++ b/src/future/standard_library/__init__.py @@ -62,7 +62,11 @@ import sys import logging -import imp +# imp was deprecated in python 3.6 +if sys.version_info >= (3, 6): + import importlib as imp +else: + import imp import contextlib import types import copy diff --git a/src/past/builtins/misc.py b/src/past/builtins/misc.py index ba50aa9e..eaaef410 100644 --- a/src/past/builtins/misc.py +++ b/src/past/builtins/misc.py @@ -42,7 +42,8 @@ def oct(number): return '0' + builtins.oct(number)[2:] raw_input = input - from imp import reload + # imp was deprecated in python 3.6 + from importlib import reload unicode = str unichr = chr xrange = range diff --git a/src/past/translation/__init__.py b/src/past/translation/__init__.py index 7c678866..e70d4bcd 100644 --- a/src/past/translation/__init__.py +++ b/src/past/translation/__init__.py @@ -32,11 +32,15 @@ Inspired by and based on ``uprefix`` by Vinay M. Sajip. """ -import imp +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 marshal 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 3ac5d2d7..630a43f2 100644 --- a/tests/test_future/test_standard_library.py +++ b/tests/test_future/test_standard_library.py @@ -447,7 +447,11 @@ def test_reload(self): """ reload has been moved to the imp module """ - import imp + # imp was deprecated in python 3.6 + if sys.version_info >= (3, 6): + import importlib as imp + else: + import imp imp.reload(imp) self.assertTrue(True) From dbd3cd0270ce48bb27a633b9b88a1a9bb287011d Mon Sep 17 00:00:00 2001 From: Joseph Curtis Date: Wed, 16 Sep 2020 11:35:23 -0700 Subject: [PATCH 2/2] fix import reload for python<3.6 --- src/past/builtins/misc.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/past/builtins/misc.py b/src/past/builtins/misc.py index eaaef410..78210d37 100644 --- a/src/past/builtins/misc.py +++ b/src/past/builtins/misc.py @@ -1,6 +1,7 @@ from __future__ import unicode_literals import inspect +import sys from future.utils import PY2, PY3, exec_ @@ -43,7 +44,10 @@ def oct(number): raw_input = input # imp was deprecated in python 3.6 - from importlib import reload + if sys.version_info >= (3, 6): + from importlib import reload + else: + from imp import reload unicode = str unichr = chr xrange = range