pyinstaller binary可在一台计算机上运行,​​但不能在另一台计算机上运行-两者都具有相同版本的RHEL和python

时间:2018-08-16 13:44:21

标签: python pyinstaller rhel valueerror

我有一个在Linux机器上构建的程序,我们称它为BUILD pc,我使用pyinstaller将其编译为二进制文件,并且在该计算机上运行良好。从那以后,我将文件传输到计算机A,运行相同版本的Linux,相同版本的python,并且在那里也可以正常运行。然后,我将文件传输到具有相同版本的Linux / Python的计算机B,但是由于某种原因,编译后的代码在这里无法正常工作。我收到“ ValueError:需要多个值来解压”消息。

如果我在计算机B上运行.py源代码,则可以正常工作,因此我知道系统可以处理所有必需的导入,并且'ValueError'显然是由代码编译引起的。

我已经运行uname -a并打开python控制台以显示正在使用的版本,并对可执行文件执行了file命令以显示文件类型。

运行md5sum还会显示文件完全相同。

我正在寻找什么可能导致一个系统运行该程序,而另一个系统出现故障?

build system:

  

[usr @ BUILD〜] $ python

     

Python 2.4.3(#1,2012年10月23日,22:02:47)

     

linux2上的[GCC 4.1.2 20080704(Red Hat 4.1.2-54)]

     

输入“帮助”,“版权”,“信用”或“许可证”以获取更多信息。

     

>>>

     

[usr @ BUILD〜] $ uname -a

     

Linux BUILD 2.6.18-419.el5PAE#1 SMP 2017年2月22日星期三22:48:50美国东部时间i686 i686 i386 GNU / Linux

Computer A:

  

[usr @ SITE-A脚本] $ python

     

Python 2.4.3(#1,2012年10月23日,22:02:47)

     

linux2上的[GCC 4.1.2 20080704(Red Hat 4.1.2-54)]

     

输入“帮助”,“版权”,“信用”或“许可证”以获取更多信息。

     

>>>

     

[usr @ SITE-A脚本] $ uname -a

     

Linux SITE-A 2.6.18-348.el5PAE#1 SMP Wed Nov 28 21:44:58 EST 2012 i686 i686 i386 GNU / Linux

Computer B:

  

[usr @ SITE-B〜] $ python

     

Python 2.4.3(#1,2012年10月23日,22:02:47)

     

linux2上的[GCC 4.1.2 20080704(Red Hat 4.1.2-54)]

     

输入“帮助”,“版权”,“信用”或“许可证”以获取更多信息。

     

>>>

     

[usr @ SITE-B〜] $ uname -a

     

Linux SITE-B 2.6.18-348.el5PAE#1 SMP Wed Nov 28 21:44:58 EST 2012 i686 i686 i386 GNU / Linux

-Edito-

在指定的行周围添加了完整的错误消息和代码:

Traceback (most recent call last):
  File "source.py", line 3009, in <module>
    logmsg("Determining which Bays are Disabled.")
  File "source.py", line 476, in acquire_old_registers

ValueError: need more than 1 value to unpack
[7407] Failed to execute script source

代码:

#475        for register in old_registers:
#476
#477            try:  # Check if line in old_registers is blank
#478
#479                (key, val) = register.split(' ', 1)

同样,当作为.py文件运行时,该代码也可以正常工作。

0 个答案:

没有答案