Visual Studio中Flask调用BigQuery失败问题求助
问题分析与解决方案
核心问题是VS Code使用的Python环境缺少SSL模块支持,而Jupyter Notebook使用的是另一个配置完整的Python环境,因此出现运行差异。以下是具体解决步骤:
1. 确认VS Code的Python解释器
- 点击VS Code左下角的Python版本标识,打开解释器选择列表,确认选中的解释器路径和Jupyter中使用的完全一致。
- 若不一致,切换到Jupyter使用的环境(比如Anaconda的base环境或自定义虚拟环境)。
2. 修复Python环境的SSL组件
- 如果使用Python官方安装包:
- 卸载当前Python 3.8,重新下载官网安装包。
- 安装时勾选「Add Python to PATH」,进入自定义安装界面,确保「SSL」组件被勾选(默认选中,若之前手动取消过需重新勾选)。
- 如果使用Anaconda/Miniconda:
直接在VS Code中切换到Anaconda对应的Python解释器,Anaconda默认打包了完整的SSL依赖库。
3. 临时绕过SSL验证(仅测试用,不建议生产)
如果只是临时调试,可在代码开头添加以下代码跳过SSL证书验证:
import ssl ssl._create_default_https_context = ssl._create_unverified_context
4. 检查代理与系统证书
- 代理设置:VS Code可能自动使用了系统代理但配置错误,可在VS Code设置中搜索「http.proxy」,暂时清空代理地址后重试;也可以在代码中添加环境变量禁用特定域名的代理:
import os os.environ['NO_PROXY'] = 'oauth2.googleapis.com,bigquery.googleapis.com' - 系统证书更新:打开Windows设置 → 隐私和安全性 → Windows安全中心 → 管理证书,或者以管理员身份运行命令提示符执行:
更新系统根证书后重启VS Code。certutil -generateSSTFromWU roots.sst
内容的提问来源于stack exchange,提问作者jeremieb
相关产品推荐
相关产品推荐

