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

在GCP Cloud Shell安装DBT CLI后执行命令报错,求排查解决

DBT CLI在GCP Cloud Shell运行报错的排查与解决

问题描述

在GCP Cloud Shell中通过pip install dbt安装DBT CLI后,在.profile文件中添加了路径配置:

if [ -d "$HOME/.local/bin" ] ; then
    PATH="$HOME/.local/bin:$HOME/.local/lib/python3.9/site-packages:$PATH"
fi

export $PATH

执行dbt --version或dbt --init时触发如下错误:

my_name@cloudshell:~$ dbt --init
Traceback (most recent call last):
  File "/home/my_name/.local/bin/dbt", line 5, in <module>
    from dbt.main import main
  File "/home/my_name/.local/lib/python3.9/site-packages/dbt/main.py", line 11, in <module>
    import dbt.version
  File "/home/my_name/.local/lib/python3.9/site-packages/dbt/version.py", line 11, in <module>
    import dbt.semver
  File "/home/my_name/.local/lib/python3.9/site-packages/dbt/semver.py", line 8, in <module>
    import dbt.utils
  File "/home/my_name/.local/lib/python3.9/site-packages/dbt/utils.py", line 9, in <module>
    import jinja2
  File "/home/my_name/.local/lib/python3.9/site-packages/jinja2/__init__.py", line 12, in <module>
    from .environment import Environment
  File "/home/my_name/.local/lib/python3.9/site-packages/jinja2/environment.py", line 25, in <module>
    from .defaults import BLOCK_END_STRING
  File "/home/my_name/.local/lib/python3.9/site-packages/jinja2/defaults.py", line 3, in <module>
    from .filters import FILTERS as DEFAULT_FILTERS  # noqa: F401
  File "/home/my_name/.local/lib/python3.9/site-packages/jinja2/filters.py", line 13, in <module>
    from markupsafe import soft_unicode
ImportError: cannot import name 'soft_unicode' from 'markupsafe' (/usr/local/lib/python3.9/dist-packages/markupsafe/__init__.py)

错误原因

  1. markupsafe版本不兼容:soft_unicode在markupsafe 2.1.0及以上版本中已被移除,但当前安装的dbt依赖的jinja2版本仍在调用该方法,导致导入失败。
  2. PATH配置错误:.profile中添加$HOME/.local/lib/python3.9/site-packages到PATH是无效操作(PATH仅用于可执行文件路径,Python模块目录无需加入),且export $PATH写法错误,正确应为export PATH。

解决步骤

1. 修正.profile配置

编辑.profile文件,修改为以下内容:

if [ -d "$HOME/.local/bin" ] ; then
    PATH="$HOME/.local/bin:$PATH"
fi

export PATH

执行以下命令让配置立即生效:

source ~/.profile

2. 降级markupsafe到兼容版本

执行pip命令安装兼容的markupsafe版本:

pip install markupsafe==2.0.1

3. 验证修复结果

执行以下命令确认dbt可正常运行:

dbt --version

若能正常输出版本信息,再尝试dbt --init验证功能完整性。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 02:45:33