这是演示此问题的示例代码(Python 3.6)。
import telnetlib
hostname = input("Enter hostname: ")
try:
print(hostname)
tn = telnetlib.Telnet(hostname.strip(), 23)
tn.open(hostname)
except Exception as e:
print(e)
当我在命令提示符下使用python Test.py
执行此python脚本时,我看到控制台上打印了主机名,此后我看不到任何错误。
但是,在使用命令pyinstaller -F Test.py
将Test.py编译为可执行文件之后,当我从命令提示符处执行Test.exe时,除了主机名之外,我还看到[Errno 11003] getaddrinfo failed
。
注意:脚本的执行和生成的可执行文件的运行都在通过组织的VPN连接到的Win 10虚拟机上执行。
现在奇怪的是,如果我从本地目录(在VM外部,但是通过同一VPN连接到网络的Win 10 PC)执行Test.py,它不会引发[Errno 11003] getaddrinfo failed
。
其他人之前遇到过类似的事情吗?如果是这样,您找到解决问题的方法了吗?