Streamlit应用出现ModuleNotFoundError: snowflake.connector缺失问题求助
解决
ModuleNotFoundError: No module named 'snowflake.connector' 的建议 1. 确认Streamlit使用的虚拟环境正确
- 打开VS Code命令面板(Cmd+Shift+P),执行
Python: Select Interpreter,选中你的.venv虚拟环境对应的Python解释器。 - 重启VS Code终端,确认终端前缀显示
(.venv)(虚拟环境已激活),直接在该终端运行streamlit run your_app.py,避免用VS Code默认运行按钮启动(可能调用系统Python)。 - 执行
which streamlit,验证输出路径为.venv/bin/streamlit,若为系统路径,需在激活虚拟环境后重新安装Streamlit:pip install streamlit。
2. 检查并补全依赖
- 激活虚拟环境后执行
pip list,查看是否存在snowflake-connector-python包。你的requirements.txt未直接声明该依赖,可能因版本兼容问题导致未自动安装。 - 手动安装兼容版本的连接器(匹配你现有
snowflake==0.11.0,推荐snowflake-connector-python==2.7.0):pip install snowflake-connector-python==2.7.0 - 或更新
requirements.txt,添加snowflake-connector-python==2.7.0后重新安装所有依赖:pip install -r requirements.txt
3. 验证Python解释器一致性
- 在激活虚拟环境的终端执行:
确认输出为python -c "import sys; print(sys.executable)".venv/bin/python,与你执行python3 -c "import snowflake.connector"时的Python路径完全一致。
4. 重置虚拟环境(终极方案)
- 若以上步骤无效,删除现有虚拟环境并重新创建:
rm -rf .venv python3 -m venv .venv source .venv/bin/activate pip install -r requirements.txt pip install streamlit - 可先清理pip缓存避免旧版本干扰:
pip cache purge
内容的提问来源于stack exchange,提问作者Bullzeye
相关产品推荐
相关产品推荐

