You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VS Code更新后Code Runner先执行Python命令再激活虚拟环境导致依赖缺失问题求助

VS Code更新后Code Runner先执行Python命令再激活虚拟环境导致依赖缺失问题求助

最近VS Code更新后碰到个挺烦人的小问题,想请教下有没有同款遭遇的朋友,或者知道怎么解决的?

情况是这样的:我已经在工作目录里创建并选中了虚拟环境(venv),但用Code Runner的快捷键运行Python文件时,顺序完全搞反了——VS Code先是直接用全局Python执行命令:
python -u file.py
结果就是依赖找不到(比如我这里运行导入Flask的脚本直接报ModuleNotFoundError),之后才会执行虚拟环境的激活命令:
source path/to/activate.fish

第二次再按快捷键运行就没问题了,因为虚拟环境已经激活了。这事儿不算大bug,但每次第一次运行都报错,真的有点闹心。

我试过切换shell,默认用的fish,换成bash后情况一模一样。后来看到@Abhinandan M.的提示,才发现这不是VS Code本身的bug,而是更新后VS Code和Code Runner的配置冲突了。

我特意禁用Code Runner测试了下:这时候VS Code会先执行虚拟环境激活命令,再用虚拟环境里的Python完整路径来运行文件,完全正常。但我真的不想放弃Code Runner啊——它最大的好处就是一个快捷键能运行所有类型的文件,当初就是冲着这个装的!

我琢磨着原因应该是:VS Code更新后,终端启动时会自动执行激活虚拟环境的命令,但Code Runner的执行优先级比这个高,导致Python运行命令先跑了,激活命令反而在后面。本来应该是先激活虚拟环境再执行脚本才对,感觉就是个优先级配置的问题?

有没有其他人遇到同样的问题啊?求支招!

附上完整的终端日志:

python -u "/home/zarir/Documents/Projects/ReDHaT_SmartAI/panel/__init__.py"
Welcome to fish, the friendly interactive shell
Type help for instructions on how to use fish
zarir@radxa-x4 ~/D/P/ReDHaT_SmartAI (main)> python -u "/home/zarir/Documents/Projects/ReDHaT_SmartAI/panel/__init__.py"
Traceback (most recent call last):
  File "/home/zarir/Documents/Projects/ReDHaT_SmartAI/panel/__init__.py", line 1, in <module>
    from flask import Flask
ModuleNotFoundError: No module named 'flask'
zarir@radxa-x4 ~/D/P/ReDHaT_SmartAI (main) [1]> source /home/zarir/Documents/Projects/ReDHaT_SmartAI/.venv/bin/activate.fish
(.venv) zarir@radxa-x4 ~/D/P/ReDHaT_SmartAI (main)> echo Pressing Run Shortcut
Pressing Run Shortcut
(.venv) zarir@radxa-x4 ~/D/P/ReDHaT_SmartAI (main)> python -u "/home/zarir/Documents/Projects/ReDHaT_SmartAI/panel/__init__.py"
File Executed
(.venv) zarir@radxa-x4 ~/D/P/ReDHaT_SmartAI (main)>

内容来源于stack exchange

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.07 11:28:08