cloudbase / cloudbase-init

Cross-platform instance initialization
http://openstack.org
Apache License 2.0
408 stars 149 forks source link

Python 3.12 removed `imp` module #139

Closed ader1990 closed 1 month ago

ader1990 commented 1 month ago

When trying to run cloudbase-init using Python 3.12, it errors out ModuleNotFoundError: No module named 'imp':

Failed to import test module: cloudbaseinit.tests.utils.windows.test_vfat
Traceback (most recent call last):
  File "/opt/hostedtoolcache/Python/3.12.3/x64/lib/python3.12/unittest/loader.py", line 394, in _find_test_path
    module = self._get_module_from_name(name)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.12.3/x64/lib/python3.12/unittest/loader.py", line 337, in _get_module_from_name
    __import__(name)
  File "/home/runner/work/cloudbase-init-1/cloudbase-init-1/cloudbaseinit/tests/utils/windows/test_vfat.py", line 24, in <module>
    from cloudbaseinit.tests import testutils
  File "/home/runner/work/cloudbase-init-1/cloudbase-init-1/cloudbaseinit/tests/testutils.py", line 30, in <module>
    from cloudbaseinit import conf as cloudbaseinit_conf
  File "/home/runner/work/cloudbase-init-1/cloudbase-init-1/cloudbaseinit/conf/__init__.py", line 18, in <module>
    from cloudbaseinit.conf import factory
  File "/home/runner/work/cloudbase-init-1/cloudbase-init-1/cloudbaseinit/conf/factory.py", line 15, in <module>
    from cloudbaseinit.utils import classloader
  File "/home/runner/work/cloudbase-init-1/cloudbase-init-1/cloudbaseinit/utils/classloader.py", line 15, in <module>
    import imp
ModuleNotFoundError: No module named 'imp'