Python3.10用Pyinstaller打包exe报错: IndexError: tuple index out of range

使用Python3.10时,Pyinstaller出现IndexError: tuple index out of range错误,部分异常信息如下:

.......
    yield from get_instructions(code_object)
  File "C:\Program Files\Python\lib\dis.py", line 338, in _get_instructions_bytes
    argval, argrepr = _get_const_info(arg, constants)
  File "C:\Program Files\Python\lib\dis.py", line 292, in _get_const_info
    argval = const_list[const_index]
IndexError: tuple index out of range

解决办法

修改C:\Program Files\Python\lib\dis.py文件,找到_unpack_opargs函数,在倒数第二行中添加extended_arg = 0 即可,修改后的代码如下:

def _unpack_opargs(code):
    extended_arg = 0
    for i in range(0, len(code), 2):
        op = code[i]
        if op >= HAVE_ARGUMENT:
            arg = code[i+1] | extended_arg
            extended_arg = (arg << 8) if op == EXTENDED_ARG else 0
        else:
            arg = None
            extended_arg = 0  # +
        yield (i, op, arg)

亲测有效 

参考链接:Tuple index out of range with Python 3.10 and pyinstaller 5.0.dev0 · Issue #6301 · pyinstaller/pyinstaller · GitHub

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值