关于Pyinstaller在打包Streamlit程序时遇到的IndexError:tuple index out of range
  dZ3SF7EAHzrC 2024年03月11日 57 0

如题,在使用Pyinstaller库打包过程中,如果遇到IndexError:tuple index out of range,不必惊慌,本质上是库函数在传参过程中出现异常
image

下面是解决方案:

找到..\envs\steamlit\lib\dis.py这个文件。
如果你是用的虚拟环境,比如conda,那这个文件位于anaconda的安装目录
"E:\SOFTWARE\ANACONDA\envs\steamlit\lib\dis.py"
还有一种可以就是观察报错信息,一般来说最后一条报错信息就是指向这个文件。双击打开编辑就好(PyCharm)

image

在这个文件中进行搜索
搜索内容为_unpack_opargs
找到以这个关键词为名的函数
else:分支下添加一行代码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)

这样应该就能正常打包了(*^_^*)

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2024年03月11日 0

暂无评论

推荐阅读
  jMxGzq3drxo8   2024年03月12日   69   0   0 Windows
  dwB0rnCueyjo   2024年02月19日   60   0   0 Windows