首页 > 编程语言 >关于Pyinstaller在打包Streamlit程序时遇到的IndexError:tuple index out of range

关于Pyinstaller在打包Streamlit程序时遇到的IndexError:tuple index out of range

时间:2024-03-11 15:36:15浏览次数:20  
标签:index code Pyinstaller tuple range extended arg out

如题,在使用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)

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

标签:index,code,Pyinstaller,tuple,range,extended,arg,out
From: https://www.cnblogs.com/OnHaiping/p/18066157

相关文章

  • @Indexed
    假设你有一个服务类,你希望Spring在启动时能够快速地识别并注册它:importorg.springframework.stereotype.Indexed;importorg.springframework.stereotype.Service;@Indexed@ServicepublicclassMyService{   //类的实现}在这个例子中,@Service注解标记这个类为一个服务组......
  • Kibana8.0怎么添加索引index至discover
    ELK7版本索引输入至elasticsearch后使用CreateIndexpattern添加索引至Kibana在ELK8版本添加方式有所不同左侧菜单选择Management选择Kibana-DataViews创建dataview查看Discover选择刚刚设置的索引名即可......
  • 基本操作之——tuple增删查改操作
    1.tuple增加操作——tuple_insertOriginalTuple:=[0,1,2,3,4,5]*指定索引处插入一个元素tuple_insert(OriginalTuple,3,'x',InsertSingleValueA)*HDevelop执行同样操作InsertSingleValueB:=insert(OriginalTuple,3,'x') **指定索引处插入多个元素tuple_insert(Or......
  • 基本操作之——tuple类型
    *此示例演示如何使用运算符tuple_type,*tuple_is_int、tuple_is_real、tuple_is_string、*tuple_is_mixed和元素运算符*tuple_type_elem、tuple_is_int_elem、tuple_is_real_elem、*和tuple_is_string_elem。*此外,此示例还演示了如何使用强制转换(例如tuple_int)优化元组以加......
  • ValueError: Length of values (141) does not match length of index (4278)问题的解
    问题描述使用python代码向数据库表中添加一列,并插入数据到其中,就出现这样的错误:问题解决这是由于表中有许多null值,导致的数据结果是这样的,所以我们保留空值即可解决这个问题:只需要将剩余的值定义为0即可:ddd=ddd.fillna(0)......
  • Git - error:you need to resolve your current index first 解决方案
    场景:从dev-test分支上拉取dev分支上的代码(意外操作,本应该拉取dev-test分支)相当于从一个分支A,切换到分支B,对B分支进行了pull的操作错误提示:error:youneedtoresolveyourcurrentindexfirst原因:在执行pull操作时,实际是执行了:fetch+merge两个操作。由于分支B很久未......
  • 基础操作之——tuple基本操作
    Tuple1:=[1,2,3,4,5]Number:=|Tuple1|dev_clear_window()dev_disp_text('Tuple1:=[1,2,3,4,5]'+'大小为'+Number,'window','center','center','black','box_color','#00ffffc0')......
  • MySQL index and dead lock
    MySQL        Analyze:step1.Thread(test1)use"selectforupdate"lockcommonageindexinrange(10,30]step 2.Thread(test2)use"selectforupdate"lockcommonageindexinrange(40,60]step 3.Thread(test2)trytoi......
  • Different Subsets For All Tuples (数学)
    DifferentSubsetsForAllTuples数学题面有一个长度为\(n\)的数列,每个位置上数字的值在\([1,m]\)范围内,则共有\(m^n\)种可能的数列。分别求出每个数列中本质不同的子序列个数(包含空序列),然后求和,答案对\(10^9+7\)取模。(\(1\len,m\le10^6\))数据范围$1<=n,m<=10^{6}$解法......
  • 【每周一读】Automating Hyperparameter Tuning with LlamaIndex
    原文......