Unclear how it is supposed to work.
get_opcode_module fails to handle 3.6.12|3.8.6, and likely every 3.6.n|3.8.n.
$ uncompyle6 -h
Traceback (most recent call last):
File "/usr/bin/uncompyle6", line 11, in <module>
load_entry_point('uncompyle6==3.7.2', 'console_scripts', 'uncompyle6')()
File "/usr/lib/python3.8/site-packages/pkg_resources/__init__.py", line 489, in load_entry_point
return get_distribution(dist).load_entry_point(group, name)
File "/usr/lib/python3.8/site-packages/pkg_resources/__init__.py", line 2852, in load_entry_point
return ep.load()
File "/usr/lib/python3.8/site-packages/pkg_resources/__init__.py", line 2443, in load
return self.resolve()
File "/usr/lib/python3.8/site-packages/pkg_resources/__init__.py", line 2449, in resolve
module = __import__(self.module_name, fromlist=['__name__'], level=0)
File "/usr/lib/python3.8/site-packages/uncompyle6/__init__.py", line 48, in <module>
import uncompyle6.semantics.pysource
File "/usr/lib/python3.8/site-packages/uncompyle6/semantics/pysource.py", line 141, in <module>
from uncompyle6.parsers.treenode import SyntaxTree
File "/usr/lib/python3.8/site-packages/uncompyle6/parsers/treenode.py", line 3, in <module>
from uncompyle6.scanners.tok import NoneToken
File "/usr/lib/python3.8/site-packages/uncompyle6/scanners/tok.py", line 200, in <module>
NoneToken = Token("LOAD_CONST", offset=-1, attr=None, pattr=None)
File "/usr/lib/python3.8/site-packages/uncompyle6/scanners/tok.py", line 86, in __init__
from xdis.std import _std_api
File "/usr/lib/python3.8/site-packages/xdis/std.py", line 220, in <module>
_std_api = make_std_api()
File "/usr/lib/python3.8/site-packages/xdis/std.py", line 218, in make_std_api
return _StdApi(python_version, variant)
File "/usr/lib/python3.8/site-packages/xdis/std.py", line 73, in __init__
self.opc = opc = get_opcode_module(python_version, variant)
File "/usr/lib/python3.8/site-packages/xdis/op_imports.py", line 169, in get_opcode_module
return op_imports[canonic_python_version[vers_str]]
KeyError: '3.8.6'
Workaround is version_info[0:2] to find a match.
Unclear what the openSUSE Leap and Tumbleweed packages do wrong.
Unclear how it is supposed to work.
get_opcode_module
fails to handle3.6.12|3.8.6
, and likely every3.6.n|3.8.n
.Workaround is
version_info[0:2]
to find a match.Unclear what the openSUSE Leap and Tumbleweed packages do wrong.