You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

VS Code调试Streamlit应用时提示‘ModuleNotFoundError: No module named 'streamlit'’的问题求助

VS Code调试Streamlit应用时提示‘ModuleNotFoundError: No module named 'streamlit'’的问题求助

兄弟我之前也踩过一模一样的坑!终端里跑streamlit run app.py顺得不行,一用VS Code调试就报模块找不到,折腾了大半天终于搞定了,给你分享几个亲测有效的排查和解决步骤:

1. 给launch.json加精准的虚拟环境Python路径

别光靠VS Code自动生成的launch.json,一定要手动指定调试时用的Python解释器,就是你项目venv环境里的那个。比如我Mac上的配置是这样的:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "调试Streamlit应用",
            "type": "python",
            "request": "launch",
            "module": "streamlit",
            "args": ["run", "${file}"],
            "python": "${workspaceFolder}/venv/bin/python"
        }
    ]
}

重点说两个细节:

  • "module": "streamlit"作为启动入口,而不是直接写"program": "${file}",因为Streamlit是作为Python模块运行的,调试器得认准这个入口才对
  • python字段一定要指向你项目venv里的Python可执行文件,Windows的话就是${workspaceFolder}/venv/Scripts/python.exe,别偷懒用相对路径,直接绑死venv的解释器才靠谱

2. 检查VS Code工作区的解释器配置有没有冲突

有时候状态栏选了解释器,但工作区的设置可能偷偷覆盖了:

  • Ctrl+,(Windows)/Cmd+,(Mac)打开设置,搜索Python: Default Interpreter Path,确认它指向的是你venv里的Python,不是系统全局的
  • 再搜Python: Terminal: Activate Environment,把这个选项勾上,让VS Code的调试终端自动激活你的虚拟环境,避免环境错位

3. 清理VS Code缓存重置配置

如果上面的都试过还是不行,可能是VS Code的缓存搞鬼了:

  • 先备份好项目根目录下.vscode文件夹里的launch.jsonsettings.json
  • 关闭VS Code,删掉整个.vscode文件夹
  • 重新打开项目,在状态栏重新选择你的venv解释器,再重新生成调试配置
  • 这一步我之前救过好几次急,缓存导致的解释器识别异常一删就好

4. 验证调试器的实际运行环境

实在找不到问题的话,在你的app.py最开头加两行代码,看看调试器到底用的哪个环境:

import sys
print("当前Python路径:", sys.executable)
print("当前模块搜索路径:", sys.path)

启动调试后看控制台输出,如果sys.executable不是你venv里的Python路径,那百分百是调试器没用到正确的环境,再回头死磕launch.json的配置就行。

我当时就是犯了个低级错误:状态栏选了venv解释器,但launch.json里没指定python字段,调试器默认用了全局Python,改了之后就完全正常了。你可以按这个顺序排查,大概率能解决问题!

火山引擎 最新活动