背景(闲话Trae)
Trae是挺好,用了几天,发现它时不时检查文件,一检测就转悠半天,为此我把当前环境清空,就留一个正在调的程序,结果还照样检测,虽然没影响什么,但感觉好累了,就换回vsCode了。
问题
然后,解决一下vsCode,运行方式不同,运行结果在“输出”和“终端”结果不一样的问题。
再现问题
让AI写了一个打印运行环境信息的代码,分别通过“run code”和“运行python文件”,两种方式执行,运行或输出结果不同:
本次检测代码如下:
import sys
import os
import platformdef get_environment_info():print("=== 环境信息检测 ===")# Python版本print(f"Python版本: {sys.version}")# Python解释器路径print(f"Python解释器路径: {sys.executable}")# 当前脚本文件路径script_path = __file__print(f"当前脚本路径: {os.path.abspath(script_path)}")# 当前工作目录print(f"当前工作目录: {os.getcwd()}")# 环境变量中的PATHprint("\nPATH环境变量:")for path in os.environ['PATH'].split(os.pathsep):print(f" {path}")# 系统平台信息print(f"\n操作系统: {platform.system()} {platform.release()}")# 虚拟环境检测venv = os.environ.get('VIRTUAL_ENV', '未检测到虚拟环境')print(f"虚拟环境路径: {venv}")if __name__ == "__main__":get_environment_info()print("=== 环境信息检测 ===")
分析问题
输出端显示的来源
run code 这种执行方式,程序输出的内容显示在“输出”端,是通过插件code Runner执行的:
运行结果,是这样:
可见,Python解释器路径是系统默认的路径,不是当前工作环境的路径。
而且,可见字符集也和系统用的不一样,还乱码。
终端显示的来源
“运行python” 这种执行方式,程序输出的内容显示在“终端”,是使用的当前工作区设置的运行环境:
解决办法
让run code输出到终端,直接用系统的环境就可以了,具体设置如下:
找到曾经安装的插件code runner,进行如图设置,勾选Run In Terminal的选项:
测试,一下,在点击“run code”,果然在终端运行了。
结尾
就这么简单的解决了,感康一下,有些小麻烦,躲来躲去,兜兜转转,最终还是要面对,🥲🥲🥲
真面对了,其实也不难,哇哈哈😄😄😄
附赠,终端乱码问题
如果终端显示乱码,可以检查这几个地方:
汉化插件是否安装了
没装可以安装一个,操作界面就换成中文的了。
重启后,界面菜单什么的,都是中文的了。
设置VSCode默认编码
打开设置(Ctrl + ,
),搜索 Files: Encoding
,调整为UTF-8
或与文件实际编码一致(如GBK
)
启用 Files: Auto Guess Encoding
以自动识别文件编码。
关键操作:查看窗口右下角编码格式,如果不对,可以直接点击后,通过“重新打开编码”手动匹配