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

Anaconda下unittest导入snowflake.connector报ModuleNotFoundError

问题产生原因

核心报错是ModuleNotFoundError: No module named 'snowflake.connector',触发原因基本都是包安装问题:

  • 你跑测试用的envname conda环境里,没装对Snowflake的Python连接包。注意Snowflake官方连接器的包名是snowflake-connector-python,不是snowflake-connector,装错包名肯定导不进来;另外很多人装包的时候没激活对应环境,直接全局pip install,包装到base环境去了,切到envname自然找不到。
  • 极小概率是conda run没指定当前工作目录,导致Python模块搜索路径不对,但你这个案例里wtf目录下的代码能被正常加载,只有snowflake导入失败,这个原因可以直接排除。
修复方法

按以下步骤操作即可解决:

  1. 先激活目标conda环境,避免后续装包错位:
    conda activate envname
  2. 清理可能存在的错误安装包,避免版本/包名冲突:
pip uninstall -y snowflake-connector snowflake.connector
conda remove -y snowflake-connector-python -n envname
  1. 安装适配Python 3.9.2版本的官方连接器,优先用conda-forge源安装,自动处理依赖冲突:
    conda install -c conda-forge snowflake-connector-python==2.7.12 -n envname
    如果习惯用pip安装,确保已经激活envname环境后执行:
    pip install snowflake-connector-python==2.7.12
    指定2.7.12版本是因为该版本经过验证完全兼容Python 3.9.2,不会出现高版本不兼容低版本Python的问题
  2. 先验证包导入是否正常,在激活的环境中执行:
    python -c "import snowflake.connector; print('导入验证通过')"
    没有报错的话,回到同时包含wtf和test文件夹的项目根目录执行测试即可:
    python -m unittest
    如果需要用非交互式的conda run执行命令,记得加上工作目录参数,避免路径识别异常:
    conda run -n envname --cwd . python -m unittest

内容的提问来源于stack exchange,提问作者Sam Helmich

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 09:57:18