[bitbake-devel] [PATCH 1/2] utils: Avoid warnings about deprecated imp module

akuster808 akuster808 at gmail.com
Tue Nov 13 23:11:15 UTC 2018


On 11/13/18 2:59 PM, Richard Purdie wrote:
> The imp module is deprecated, port the code over to use importlib.
>
> bitbake/lib/bb/utils.py:30: DeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses
>   import imp

so host side? Thud and Sumo backport?

- armin

>
> Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>
> ---
>  lib/bb/utils.py | 13 +++++--------
>  1 file changed, 5 insertions(+), 8 deletions(-)
>
> diff --git a/lib/bb/utils.py b/lib/bb/utils.py
> index 73b6cb423b..1cadbc5bcd 100644
> --- a/lib/bb/utils.py
> +++ b/lib/bb/utils.py
> @@ -27,7 +27,7 @@ import bb
>  import bb.msg
>  import multiprocessing
>  import fcntl
> -import imp
> +import importlib
>  import itertools
>  import subprocess
>  import glob
> @@ -43,7 +43,7 @@ from contextlib import contextmanager
>  from ctypes import cdll
>  
>  logger = logging.getLogger("BitBake.Util")
> -python_extensions = [e for e, _, _ in imp.get_suffixes()]
> +python_extensions = importlib.machinery.all_suffixes()
>  
>  
>  def clean_context():
> @@ -1544,12 +1544,9 @@ def export_proxies(d):
>  def load_plugins(logger, plugins, pluginpath):
>      def load_plugin(name):
>          logger.debug(1, 'Loading plugin %s' % name)
> -        fp, pathname, description = imp.find_module(name, [pluginpath])
> -        try:
> -            return imp.load_module(name, fp, pathname, description)
> -        finally:
> -            if fp:
> -                fp.close()
> +        spec = importlib.machinery.PathFinder.find_spec(name, path=[pluginpath] )
> +        if spec:
> +            return spec.loader.load_module()
>  
>      logger.debug(1, 'Loading plugins from %s...' % pluginpath)
>  


More information about the bitbake-devel mailing list