diff --git a/IPython/core/completerlib.py b/IPython/core/completerlib.py index 2dff862..b6d1ea8 100644 --- a/IPython/core/completerlib.py +++ b/IPython/core/completerlib.py @@ -17,12 +17,19 @@ from __future__ import print_function # Stdlib imports import glob -import imp import inspect import os import re import sys +try: + # Python 3 + from importlib.machinery import all_suffixes + _suffixes = all_suffixes() +except ImportError: + from imp import get_suffixes + _suffixes = [ s[0] for s in get_suffixes() ] + # Third-party imports from time import time from zipimport import zipimporter @@ -51,7 +58,7 @@ TIMEOUT_GIVEUP = 20 import_re = re.compile(r'(?P[a-zA-Z_][a-zA-Z0-9_]*?)' r'(?P[/\\]__init__)?' r'(?P%s)$' % - r'|'.join(re.escape(s[0]) for s in imp.get_suffixes())) + r'|'.join(re.escape(s) for s in _suffixes)) # RE for the ipython %run command (python + ipython scripts) magic_run_re = re.compile(r'.*(\.ipy|\.ipynb|\.py[w]?)$')