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

使用wandb遇意外chardet依赖问题:修复方法及成因解析

导入wandb时chardet相关依赖错误的原因分析

报错详情

import wandb

...

Traceback (most recent call last):
  File "/lfs/ampere1/0/brando9/miniconda/envs/data_quality/lib/python3.10/site-packages/requests/compat.py", line 11, in <module>
    import chardet
ModuleNotFoundError: No module named 'chardet'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/afs/cs.stanford.edu/u/brando9/ultimate-utils/ultimate-utils-proj-src/uutils/__init__.py", line 52, in <module>
    from uutils.logging_uu.wandb_logging.common import setup_wandb
  File "/afs/cs.stanford.edu/u/brando9/ultimate-utils/ultimate-utils-proj-src/uutils/logging_uu/wandb_logging/common.py", line 8, in <module>
    import wandb
  File "/lfs/ampere1/0/brando9/miniconda/envs/data_quality/lib/python3.10/site-packages/wandb/__init__.py", line 26, in <module>
    from wandb import sdk as wandb_sdk
  File "/lfs/ampere1/0/brando9/miniconda/envs/data_quality/lib/python3.10/site-packages/wandb/sdk/__init__.py", line 3, in <module>
    from . import wandb_helper as helper  # noqa: F401
  File "/lfs/ampere1/0/brando9/miniconda/envs/data_quality/lib/python3.10/site-packages/wandb/sdk/wandb_helper.py", line 6, in <module>
    from .lib import config_util
  File "/lfs/ampere1/0/brando9/miniconda/envs/data_quality/lib/python3.10/site-packages/wandb/sdk/lib/config_util.py", line 10, in <module>
    from wandb.util import load_yaml
  File "/lfs/ampere1/0/brando9/miniconda/envs/data_quality/lib/python3.10/site-packages/wandb/util.py", line 49, in <module>
    import requests
  File "/lfs/ampere1/0/brando9/miniconda/envs/data_quality/lib/python3.10/site-packages/requests/__init__.py", line 45, in <module>
    from .exceptions import RequestsDependencyWarning
  File "/lfs/ampere1/0/brando9/miniconda/envs/data_quality/lib/python3.10/site-packages/requests/exceptions.py", line 9, in <module>
    from .compat import JSONDecodeError as CompatJSONDecodeError
  File "/lfs/ampere1/0/brando9/miniconda/envs/data_quality/lib/python3.10/site-packages/requests/compat.py", line 13, in <module>
    import charset_normalizer as chardet
  File "/lfs/ampere1/0/brando9/miniconda/envs/data_quality/lib/python3.10/site-packages/charset_normalizer/__init__.py", line 23, in <module>
    from charset_normalizer.api import from_fp, from_path, from_bytes, normalize
  File "/lfs/ampere1/0/brando9/miniconda/envs/data_quality/lib/python3.10/site-packages/charset_normalizer/api.py", line 10, in <module>
    from charset_normalizer.md import mess_ratio
  File "charset_normalizer/md.py", line 5, in <module>
ImportError: cannot import name 'COMMON_SAFE_ASCII_CHARACTERS' from 'charset_normalizer.constant' (/lfs/ampere1/0/brando9/miniconda/envs/data_quality/lib/python3.10/site-packages/charset_normalizer/constant.py)
(data_quality) brando9~ $ pip install chardet

Collecting chardet
  Downloading chardet-5.1.0-py3-none-any.whl (199 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 199.1/199.1 kB 7.7 MB/s eta 0:00:00
Installing collected packages: chardet
Successfully installed chardet-5.1.0

临时解决方法

执行以下命令后问题得到解决:

pip install --upgrade pip
pip install chardet  # 修复wandb异常可能需要

问题原因

从报错链可以拆解出两个核心问题:

  1. requests的降级兼容机制触发异常:requests在compat.py中会优先尝试导入chardet,如果找不到则会导入charset_normalizer并将其作为chardet的替代使用。你的环境中原本未安装chardet,因此触发了降级逻辑。
  2. charset_normalizer安装异常:降级到charset_normalizer后,出现了ImportError,提示无法从charset_normalizer.constant中导入COMMON_SAFE_ASCII_CHARACTERS,这说明该包的安装可能不完整、文件损坏,或者版本与当前requests/Python环境存在兼容性冲突。

安装chardet后,requests会直接使用官方的chardet库,跳过了有问题的charset_normalizer,因此错误被解决。升级pip则是为了修复pip自身的版本问题,确保后续依赖安装的完整性和兼容性。

补充验证脚本

以下脚本也能解决问题,同时额外处理了cchardet和wandb版本:

pip install --upgrade pip
pip install wandb --upgrade
if ! pip show chardet > /dev/null; then
    pip install chardet
fi
if ! pip show cchardet > /dev/null; then
    pip install cchardet
fi
python -c "import uutils; uutils.torch_uu.gpu_test()"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 08:17:48