请原谅我的无知,因为我还是编码的初学者。
我正在尝试使用py2exe将我编写的python脚本转换为Windows可执行程序。但是,虽然我能够成功转换脚本,但可执行文件似乎没有完全正常运行。
经过大量调试后,我已将原因隔离,以下代码似乎是问题
host = str(raw_input('Enter Host IP Address: '))
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client_socket.connect((host, 5000))
当从Pydev本身执行脚本并且脚本能够正常运行时,不会发生此问题。在尝试连接到另一台主机时,Windows可执行文件是一个控制台应用程序,只是挂起。
这是一个已知问题还是我做错了什么?非常感谢任何帮助。
答案 0 :(得分:1)
您能输入IP地址吗?阅读that thread似乎py2exe需要一个特殊的 windows 参数来启动控制台。否则,raw_input会尝试从标准输入读取,并挂起/崩溃,因为它找不到任何内容。
考虑到线程的年龄,我检查了py2exe doc:您可能想尝试将脚本放在 console 属性中。
我真的认为行为与raw_input有关,而且是由套接字操作引起的不是。