在VSCode的终端能打印信息,但在外部终端无法打印

 在写代码的时候发现了一个很有趣的问题,那就是在VSCode终端中能打印出sess.run()的信息,但是在外部终端无法打印输出sess.run()的信息。具体表现如下图:

VSCode输出的Sess.run()信息.png

外部终端(PowerShell)无法输出Sess.run()信息.png

参考了博客https://www.cnblogs.com/huangbiquan/p/7812005.html的内容,其建议如下:
python安装目录下的lib\site-packages文件夹下新建一个sitecustomize.py,并写入代码:

import sys 
sys.setdefaultencoding('utf-8')

经尝试后,发现会报错:

AttributeError: module 'sys' has no attribute 'setdefaultencoding'

参考博客https://blog.csdn.net/fly910905/article/details/74922378查找原因,Python3字符串默认编码unicode, 所以sys.setdefaultencoding也不存在了,由于我使用的python是3.7.4版本,因此该方法无法解决我的问题。
第二步,对比VSCode中的终端与外部终端的区别,首先查看VSCode中的默认终端信息:

"terminal.integrated.shell.windows": "C:\\WINDOWS\\System32\\WindowsPowerShell\\v1.0\\powershell.exe"

打开该路径下的PowerShell,并运行目标代码,结果还是无法输出Sess.run()中的内容。
最后发现VSCode执行代码是在我的工程文件目录下执行的,因此将PowerShell的路径也移动到我的工程文件目录,并执行代码,最终能输出Sess.run的信息。


PowerShell输出的结果.png

你可能感兴趣的:(在VSCode的终端能打印信息,但在外部终端无法打印)