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

安装Twint时遇cchardet编译错误:无法构建wheel求助

解决Twint安装时cchardet编译失败的问题

错误根源

核心问题是旧版cchardet不兼容Python 3.12:Python 3.10及后续版本移除了longintrepr.h头文件,但编译cchardet扩展时仍在引用该文件,导致gcc编译中断。

解决办法

方法1:降级Python版本

将Python版本降到3.9或3.10,这两个版本仍保留longintrepr.h,可正常兼容旧版cchardet。

方法2:用纯Python版chardet替代cchardet

不想降级Python的话,可替换依赖:

  • 先手动安装纯Python实现的chardet:
    pip install chardet
    
  • 克隆Twint源码,修改依赖后本地安装:
    git clone https://github.com/twintproject/twint.git
    cd twint
    sed -i 's/cchardet/chardet/' requirements.txt
    pip install .
    

方法3:使用维护中的Twint Fork版本

原Twint项目已停止维护,社区fork版本修复了依赖兼容问题,直接安装支持Python 3.12的分支:

pip install git+https://github.com/haccer/twint.git

完整错误信息(翻译后)

error: subprocess-exited-with-error

  × python setup.py bdist_wheel 运行失败。
  │ 退出码: 1
  ╰─> [23行输出]
      running bdist_wheel
      running build
      running build_py
      创建 build
      创建 build/lib.linux-aarch64-cpython-312
      创建 build/lib.linux-aarch64-cpython-312/cchardet
      复制 src/cchardet/__init__.py -> build/lib.linux-aarch64-cpython-312/cchardet
      复制 src/cchardet/version.py -> build/lib.linux-aarch64-cpython-312/cchardet
      running build_ext
      编译 'cchardet._cchardet' 扩展
      创建 build/temp.linux-aarch64-cpython-312
      创建 build/temp.linux-aarch64-cpython-312/src
      创建 build/temp.linux-aarch64-cpython-312/src/cchardet
      创建 build/temp.linux-aarch64-cpython-312/src/ext
      创建 build/temp.linux-aarch64-cpython-312/src/ext/uchardet
      创建 build/temp.linux-aarch64-cpython-312/src/ext/uchardet/src
      创建 build/temp.linux-aarch64-cpython-312/src/ext/uchardet/src/LangModels
      aarch64-linux-gnu-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -fPIC -Isrc/ext/uchardet/src -I/usr/include/python3.12 -c src/cchardet/_cchardet.cpp -o build/temp.linux-aarch64-cpython-312/src/cchardet/_cchardet.o
      src/cchardet/_cchardet.cpp:196:12: 致命错误:longintrepr.h:没有那个文件或目录
        196 |   #include "longintrepr.h"
            |            ^~~~~~~~~~~~~~~
      编译终止。
      error: 命令 '/usr/bin/aarch64-linux-gnu-gcc' 退出码为1
      [输出结束]

  note: 该错误源自子进程,大概率与pip无关。
  ERROR: Failed building wheel for cchardet
  Running setup.py clean for cchardet
Failed to build cchardet
ERROR: Could not build wheels for cchardet, which is required to install pyproject.toml-based projects

内容的提问来源于stack exchange,提问作者gamekid the lifeboat builder

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 22:08:11