Python pyinstaller可执行文件在不同计算机上的行为不同
我用pyinstaller制作了一个可执行文件,当我在我创建它的计算机上运行它时,它工作得非常完美。然而,当我在任何其他计算机上运行它时,它似乎跳过了代码行,因此失败了。它正在使用套接字,而在某个地方,它可能会在服务器发送数据时出错?在我打开一个文件(f=open('filename','rb')之后,它似乎跳过了一些行,比如print语句,我知道我可以在该目录中编写一个文件,因为它与其他程序一起工作。我不知道问题出在哪里,因为它可以在原来的计算机上工作,但不能在其他计算机上工作。计算机之间的这种差异有什么原因吗?我是套接字编程新手,所以任何帮助修复我的代码都会很有帮助 客户:Python pyinstaller可执行文件在不同计算机上的行为不同,python,pyinstaller,Python,Pyinstaller,我用pyinstaller制作了一个可执行文件,当我在我创建它的计算机上运行它时,它工作得非常完美。然而,当我在任何其他计算机上运行它时,它似乎跳过了代码行,因此失败了。它正在使用套接字,而在某个地方,它可能会在服务器发送数据时出错?在我打开一个文件(f=open('filename','rb')之后,它似乎跳过了一些行,比如print语句,我知道我可以在该目录中编写一个文件,因为它与其他程序一起工作。我不知道问题出在哪里,因为它可以在原来的计算机上工作,但不能在其他计算机上工作。计算机之间的这
s=socket.socket()
host='10.0.0.9'
port=1111
while True:
try:
s.connect((host,port))
s.send(save_dest)
break
except:
pass
print 'trying to copy...'
try:
print 'file destination'
#prints file destination
file=open('file destination,'wb')
#does not print 'file opened'
print 'file opened'
l=s.recv(1024)
while True:
#prints l here however it is on the same line as print 'file destination' which I do not understand why
print l
file.write(l)
#does not print 'okkk'
print 'okkk'
l=s.recv(1024)
if l[len(l)-5:]=='~end~':
break
#does not run code here
print 'success'
s.send('successfully copied file to'+'file name')
file.close()
except:
#throughs exception somewhere but idk where
print 'failed'
s.send('failed to copy file')
欢迎来到SO。请阅读如何提问,然后包括CMVE(完整、最小、可验证的示例)@Foon CMVE是我的代码片段吗?请阅读帮助部分(特别是:)MCVE是代码中存在问题的最小部分,包括预期输出、实际输出(包括错误消息),还有一些其他的建议:1)尝试在另一个系统上手动安装python,并在那里运行脚本(例如,将pyinstaller从等式中去掉)。2) 将Exception:更改为Exception as e:并在异常处理例程中打印e(您应该捕获特定异常,而不是捕获所有异常,但这是另一个主题)3)以书面形式发送(save_dest)将引发异常,因为save_dest未定义;不确定你是否遗漏了这些内容。@Foon-oh-yea我删除了代码的其他部分,所以save\u dest只是目的欢迎来到so。请阅读如何提问,然后包括CMVE(完整、最小、可验证的示例)@Foon CMVE是我的代码片段吗?请阅读帮助部分(特别是:)MCVE是代码中存在问题的最小部分,包括预期输出、实际输出(包括错误消息),还有一些其他的建议:1)尝试在另一个系统上手动安装python,并在那里运行脚本(例如,将pyinstaller从等式中去掉)。2) 将Exception:更改为Exception as e:并在异常处理例程中打印e(您应该捕获特定异常,而不是捕获所有异常,但这是另一个主题)3)以书面形式发送(save_dest)将引发异常,因为save_dest未定义;不确定您是否遗漏了这些内容。@Foon-oh-yea我删除了代码的其他部分,所以save\u dest只是目的地