unikraft / pykraft

Python library for configuring and building unikernels
Other
177 stars 42 forks source link

Kraft fails due to old feedparser library on python 3.9 #31

Open skyhisi opened 3 years ago

skyhisi commented 3 years ago

Running kraft on Python 3.9 fails due to it using an old version of feedparser.

Traceback (most recent call last):
  File "/home/silas/.local/bin/kraft", line 33, in <module>
    sys.exit(load_entry_point('unikraft-tools==0.4.1a0', 'console_scripts', 'kraft')())
  File "/home/silas/.local/bin/kraft", line 25, in importlib_load_entry_point
    return next(matches).load()
  File "/usr/lib64/python3.9/importlib/metadata.py", line 77, in load
    module = import_module(match.group('module'))
  File "/usr/lib64/python3.9/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 790, in exec_module
  File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
  File "/home/silas/.local/lib/python3.9/site-packages/unikraft_tools-0.4.1a0-py3.9.egg/kraft/kraft.py", line 37, in <module>
    from kraft.cmd import cmd_build
  File "/home/silas/.local/lib/python3.9/site-packages/unikraft_tools-0.4.1a0-py3.9.egg/kraft/cmd/__init__.py", line 36, in <module>
    from .build import cmd_build
  File "/home/silas/.local/lib/python3.9/site-packages/unikraft_tools-0.4.1a0-py3.9.egg/kraft/cmd/build.py", line 41, in <module>
    from kraft.cmd.list import kraft_list_preflight
  File "/home/silas/.local/lib/python3.9/site-packages/unikraft_tools-0.4.1a0-py3.9.egg/kraft/cmd/list/__init__.py", line 37, in <module>
    from .list import cmd_list
  File "/home/silas/.local/lib/python3.9/site-packages/unikraft_tools-0.4.1a0-py3.9.egg/kraft/cmd/list/list.py", line 41, in <module>
    from .update import kraft_update
  File "/home/silas/.local/lib/python3.9/site-packages/unikraft_tools-0.4.1a0-py3.9.egg/kraft/cmd/list/update.py", line 41, in <module>
    from .provider.types import ListProviderType
  File "/home/silas/.local/lib/python3.9/site-packages/unikraft_tools-0.4.1a0-py3.9.egg/kraft/cmd/list/provider/__init__.py", line 38, in <module>
    from .git import GitListProvider
  File "/home/silas/.local/lib/python3.9/site-packages/unikraft_tools-0.4.1a0-py3.9.egg/kraft/cmd/list/provider/git.py", line 59, in <module>
    from kraft.types import break_component_naming_format
  File "/home/silas/.local/lib/python3.9/site-packages/unikraft_tools-0.4.1a0-py3.9.egg/kraft/types.py", line 48, in <module>
    from .lib import Library
  File "/home/silas/.local/lib/python3.9/site-packages/unikraft_tools-0.4.1a0-py3.9.egg/kraft/lib/__init__.py", line 35, in <module>
    from .lib import intrusively_determine_lib_origin_url  # noqa: F401
  File "/home/silas/.local/lib/python3.9/site-packages/unikraft_tools-0.4.1a0-py3.9.egg/kraft/lib/lib.py", line 48, in <module>
    from .provider import determine_lib_provider
  File "/home/silas/.local/lib/python3.9/site-packages/unikraft_tools-0.4.1a0-py3.9.egg/kraft/lib/provider/__init__.py", line 35, in <module>
    from .types import determine_lib_provider  # noqa: F401
  File "/home/silas/.local/lib/python3.9/site-packages/unikraft_tools-0.4.1a0-py3.9.egg/kraft/lib/provider/types.py", line 39, in <module>
    from .sourceforge import SourceForgeLibraryProvider
  File "/home/silas/.local/lib/python3.9/site-packages/unikraft_tools-0.4.1a0-py3.9.egg/kraft/lib/provider/sourceforge.py", line 35, in <module>
    import feedparser
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 664, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 627, in _load_backward_compatible
  File "<frozen zipimport>", line 259, in load_module
  File "/home/silas/.local/lib/python3.9/site-packages/feedparser-5.2.1-py3.9.egg/feedparser.py", line 93, in <module>
AttributeError: module 'base64' has no attribute 'decodestring'

Work around Updated feedparser, seems to work (although I'm just testing this project for the first time)

pip3 install --user --upgrade feedparser

Desktop: