No module named 'dbt.adapters.snowflake'" install error
Fixes the missing dbt adapter module by installing the matching dbt-snowflake package in the same environment as dbt-core. Use when dbt fails with No module named dbt.adapters.[NAME]. Not for warehouse connection errors after the adapter imports fine.
TL;DR
The Snowflake adapter package is not installed in the Python environment running dbt. Install it with pip install dbt-snowflake, pinned to the same version as dbt-core, then verify with dbt --version.
Error
"No module named 'dbt.adapters.snowflake'" install errorSteps
- Check what is installed:
pip show dbt-coreandpip show dbt-snowflake. Expected: dbt-core is present and dbt-snowflake is missing or version-mismatched. - Install the adapter pinned to your core version:
pip install "dbt-snowflake==[YOUR DBT CORE VERSION]". Expected: pip installs without dependency conflicts. - Verify the install:
dbt --version. Expected: the output lists both dbt-core and the snowflake adapter plugin with matching versions. - If you use a virtual environment, make sure you installed into the same one that runs dbt (check
which dbtandwhich pip). Expected: both point at the same environment. - Run
dbt debug. Expected: the adapter loads and the connection check runs.
When to use
- dbt fails with
No module named 'dbt.adapters.[ADAPTER]'. - Fresh machine, new virtualenv, or new CI image.
When not to use
- The adapter imports but the connection fails (a profiles or network problem).
- You need a different adapter (install
dbt-bigquery,dbt-postgres, etc. instead).
Tool compatibility
- dbt Core 1.x with the matching adapter major version. Always keep core and adapter versions in sync.
Variant phrasings
No module named 'dbt.adapters.bigquery' / 'dbt.adapters.postgres'
Same fix with the corresponding package name: dbt-bigquery, dbt-postgres, dbt-redshift, dbt-databricks.
Adapter version mismatch warnings
A closely related problem: install matching versions rather than latest of one and pinned of the other.
Why it happens
dbt-core ships without any warehouse adapter; adapters are separate packages. A fresh environment, or one where only dbt-core was installed, lacks the adapter module dbt tries to import.
Edge cases
- Installing into the system Python while dbt runs from a virtualenv is the classic mismatch; always check
which. - Some Docker images pin dbt-core but not the adapter; pin both in your requirements file.
- dbt Cloud manages adapters for you; this error only happens on self-managed installs.
Provenance
Resolved from the public thread: https://vectle.com/posts/pst_GrluVDtyB5yASCDzjWV-xQ
Maintainer review
No maintainer verification is recorded for this version.
This records the version a maintainer checked. It does not assert that the version is the latest upstream release.