【トラブル】【dbt】dbt を v1.8 に更新後エラー

■ はじめに

https://dk521123.hatenablog.com/entry/2024/08/23/012045

で、dbt version を v1.7 -> v1.8 に アップグレードした時に
トラブルが発生したので、そのトラブルシュートをメモっておく

なお、トラブルに関しては、以下の公式のIssueで既に挙げられている。

https://github.com/dbt-labs/dbt-core/issues/10135

【1】現象

https://dk521123.hatenablog.com/entry/2024/08/23/012045

 以下の環境で、
dbt version を v1.7 -> v1.8 に アップグレードした後に
dbt --version を実行すると、以下「エラー内容」が発生する

 なお、アップグレード後に
「pip list --outdated」しても「dbt-core」が表示されなかった。
Windows環境/Linux環境どちらでも動く。

Case1: Windows

Items Values
dbt-core v1.7 to v1.8
OS Windows11
Python Python 3.12.4

Case2: Linux

Items Values
dbt-core v1.7 to v1.8
OS Ubuntu
Python Python 3.10.12

【2】エラー内容

Linux

Traceback (most recent call last):
  File "/home/user/.local/bin/dbt", line 5, in <module>
    from dbt.cli.main import cli
  File "/home/user/.local/lib/python3.10/site-packages/dbt/cli/__init__.py", line 1, in <module>
    from .main import cli as dbt_cli  # noqa
  File "/home/user/.local/lib/python3.10/site-packages/dbt/cli/main.py", line 14, in <module>
    from dbt.cli import requires, params as p
  File "/home/user/.local/lib/python3.10/site-packages/dbt/cli/requires.py", line 10, in <module>
    from dbt.adapters.factory import adapter_management, register_adapter, get_adapter
ModuleNotFoundError: No module named 'dbt.adapters.factory'

【3】対処方法

https://github.com/dbt-labs/dbt-core/issues/10135

でやり取りされている以下の記述を参考に対処したところ、
問題が解決した。
~~~~
When I got the same error as the reported above, the following workaround resolved it for me:

python -m pip uninstall -y dbt-adapters
python -m pip install --upgrade dbt-core dbt-common dbt-adapters
dbt --version
The pip uninstall -y dbt-adapters is the important part.

The 2nd command can be replaced with whichever command you use to install the requirements for dbt 1.8.
~~~~

実際行ったコマンド手順

# Step1:dbt-adaptersを一旦アンインストール
$ pip uninstall -y dbt-adapters

# Step2:dbt 群をアップグレード
$ pip install --upgrade dbt-core dbt-common dbt-adapters

# PostgreSQLの場合(これがないと、sbt init などで後々エラーになる)
$ pip install --upgrade dbt-postgres

# Step3:動作確認 (エラーが発生しないことを確認)
$ dbt --version
Core:
  - installed: 1.8.5
  - latest:    1.8.5 - Up to date!

Plugins:
  - postgres: 1.8.2 - Up to date!

関連記事

dbt ~ 基礎知識編 ~
https://dk521123.hatenablog.com/entry/2023/06/30/000000
dbt ~ 環境設定編 ~
https://dk521123.hatenablog.com/entry/2023/12/16/152147
dbt ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2023/05/30/151003
pip install ライブラリ更新
https://dk521123.hatenablog.com/entry/2024/08/23/012045
dbt 設定初期時でのトラブル
https://dk521123.hatenablog.com/entry/2023/06/19/000000