news 2026/4/16 17:05:27

pip install transformer_engine[pytorch]编译错误解决方法

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
pip install transformer_engine[pytorch]编译错误解决方法

今天使用swift这个框架安装megatron,训模型,总是遇到一些莫名其妙的版本冲突bug,以及一些安装不上的bug。

下面直接给出修复安装的代码:

#!/bin/bash#transformer_engine 完整安装脚本(解决所有依赖问题)set-e echo"=== Transformer Engine 完整安装脚本 ==="source activate swift # 步骤1:确保基础依赖已安装 echo""echo"=== 步骤 1: 检查并安装基础依赖 ==="proxychains4 pip install--upgrade pip setuptools wheel ninja2>&1|tail-10# 步骤2:安装 cuDNN(如果还没有) echo""echo"=== 步骤 2: 确保 cuDNN 已安装 ==="if[!-f"$CONDA_PREFIX/include/cudnn.h"];then echo"安装 cuDNN via conda..."conda install-c nvidia cudnn-y2>&1|tail-10fi # 步骤3:安装 NCCL(之前遇到过这个问题) echo""echo"=== 步骤 3: 检查并安装 NCCL ==="if[!-f"$CONDA_PREFIX/include/nccl.h"]&&[!-f"/usr/include/nccl.h"];then echo"尝试安装 NCCL via conda..."conda install-c nvidia nccl-y2>&1|tail-10||{echo"⚠️ conda 安装 NCCL 失败,尝试系统级安装..."echo"lsz"|sudo-S apt-get install libnccl-dev-y2>&1|tail-10||echo"⚠️ 系统级安装也失败"}fi # 步骤4:设置所有必要的环境变量 echo""echo"=== 步骤 4: 设置编译环境变量 ==="export CUDA_HOME=$CONDA_PREFIX export CUDNN_INCLUDE_DIR=$CONDA_PREFIX/include export CUDNN_LIBRARY_DIR=$CONDA_PREFIX/lib export LD_LIBRARY_PATH=$CUDNN_LIBRARY_DIR:$LD_LIBRARY_PATH # 设置 NCCL 路径(如果存在)if[-f"$CONDA_PREFIX/include/nccl.h"];then export NCCL_INCLUDE_DIR=$CONDA_PREFIX/include export NCCL_LIB_DIR=$CONDA_PREFIX/lib elif[-f"/usr/include/nccl.h"];then export NCCL_INCLUDE_DIR=/usr/include export NCCL_LIB_DIR=/usr/lib/x86_64-linux-gnu export LD_LIBRARY_PATH=$NCCL_LIB_DIR:$LD_LIBRARY_PATH fi # 设置 CUDA 路径if[-d"/usr/local/cuda"];then export CUDA_HOME=/usr/local/cuda export PATH=$CUDA_HOME/bin:$PATH export LD_LIBRARY_PATH=$CUDA_HOME/lib64:$LD_LIBRARY_PATH fi echo"环境变量设置完成:"echo" CUDA_HOME=$CUDA_HOME"echo" CUDNN_INCLUDE_DIR=$CUDNN_INCLUDE_DIR"echo" NCCL_INCLUDE_DIR=${NCCL_INCLUDE_DIR:-未设置}"# 步骤5:尝试安装 transformer_engine(使用--no-build-isolation 避免依赖问题) echo""echo"=== 步骤 5: 安装 transformer_engine ==="echo"方法 1: 使用 --no-build-isolation(推荐)..."# 先尝试从标准 PyPI 安装 proxychains4 pip install transformer_engine[pytorch]--no-build-isolation2>&1|tee/tmp/te_install.log&&{echo"✓ transformer_engine 安装成功!"exit0}||{echo"⚠️ 标准 PyPI 安装失败,查看详细错误..."tail-50/tmp/te_install.log|grep-A20"error\|Error\|ERROR\|fatal"||tail-30/tmp/te_install.log}# 如果失败,尝试从 NVIDIA PyPI 安装 echo""echo"方法 2: 从 NVIDIA PyPI 安装..."proxychains4 pip install-i https://pypi.nvidia.com transformer_engine[pytorch] --no-build-isolation 2>&1 | tee /tmp/te_install_nvidia.log && {echo"✓ 从 NVIDIA PyPI 安装成功!"exit0}||{echo"⚠️ NVIDIA PyPI 安装也失败,查看详细错误..."tail-50/tmp/te_install_nvidia.log|grep-A20"error\|Error\|ERROR\|fatal"||tail-30/tmp/te_install_nvidia.log}# 如果还是失败,尝试安装特定版本 echo""echo"方法 3: 尝试安装较旧版本(可能更容易编译)..."proxychains4 pip install"transformer_engine[pytorch]==2.4.0"--no-build-isolation2>&1|tail-30&&{echo"✓ 安装旧版本成功!"exit0}||echo"⚠️ 旧版本安装也失败"# 最终诊断 echo""echo"=== 安装失败诊断 ==="echo"检查关键文件:"echo" cuDNN header: $([ -f "$CUDNN_INCLUDE_DIR/cudnn.h" ] && echo "✓ 存在" || echo "✗ 不存在")"echo" NCCL header: $([ -f "${NCCL_INCLUDE_DIR:-/none}/nccl.h" ] && echo "✓ 存在" || echo "✗ 不存在")"echo" CUDA: $([ -d "$CUDA_HOME" ] && echo "✓ 存在" || echo "✗ 不存在")"echo""echo"如果仍然失败,可能需要:"echo"1. 安装完整的 CUDA 工具包: conda install -c nvidia cuda-toolkit"echo"2. 或者安装系统级开发包: sudo apt-get install libcudnn8-dev libnccl-dev"echo"3. 检查编译错误日志: cat /tmp/te_install.log"

通过这个代码,成功安装。主要是在cursor的辅助下完成的。今天花费了几个小时搞这个transformer_engine。因为我记得megatron的环境一直不好配置安装。希望后面有人能从这篇博客中获取一点灵感。

后记

2026年1月15日于上海,周四。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 15:05:57

AI印象派艺术工坊应用场景:电商图片艺术化处理实战

AI印象派艺术工坊应用场景:电商图片艺术化处理实战 1. 引言 在电商视觉营销中,商品图片的呈现方式直接影响用户的购买决策。传统的修图与滤镜处理手段虽然成熟,但难以实现具有艺术感和独特风格的图像表达。随着AI技术的发展,越来…

作者头像 李华
网站建设 2026/4/16 15:36:16

GitHub Desktop汉化终极指南:一键实现完美中文界面

GitHub Desktop汉化终极指南:一键实现完美中文界面 【免费下载链接】GitHubDesktop2Chinese GithubDesktop语言本地化(汉化)工具 项目地址: https://gitcode.com/gh_mirrors/gi/GitHubDesktop2Chinese 还在为GitHub Desktop的英文界面而烦恼吗?面…

作者头像 李华
网站建设 2026/4/16 12:21:07

小白也能懂!手把手教你用Qwen3-Embedding-4B实现文本检索

小白也能懂!手把手教你用Qwen3-Embedding-4B实现文本检索 1. 引言:为什么我们需要文本嵌入? 在当今信息爆炸的时代,如何从海量文本中快速找到最相关的内容,是搜索引擎、推荐系统和智能客服等应用的核心挑战。传统的关…

作者头像 李华
网站建设 2026/4/15 22:35:49

腾讯HunyuanImage-2.1:2K超高清AI绘图开源新引擎

腾讯HunyuanImage-2.1:2K超高清AI绘图开源新引擎 【免费下载链接】HunyuanImage-2.1 腾讯HunyuanImage-2.1是高效开源文本生成图像模型,支持2K超高清分辨率,采用双文本编码器提升图文对齐与多语言渲染,170亿参数扩散 transformer架…

作者头像 李华
网站建设 2026/4/16 10:41:14

Google EmbeddingGemma:300M参数的终极文本嵌入方案

Google EmbeddingGemma:300M参数的终极文本嵌入方案 【免费下载链接】embeddinggemma-300m-GGUF 项目地址: https://ai.gitcode.com/hf_mirrors/unsloth/embeddinggemma-300m-GGUF 导语:Google DeepMind推出仅300M参数的EmbeddingGemma模型&…

作者头像 李华
网站建设 2026/4/16 9:02:11

DeepSeek-V3.2-Exp:稀疏注意力点燃长文本效率革命

DeepSeek-V3.2-Exp:稀疏注意力点燃长文本效率革命 【免费下载链接】DeepSeek-V3.2-Exp DeepSeek-V3.2-Exp是DeepSeek推出的实验性模型,基于V3.1-Terminus架构,创新引入DeepSeek Sparse Attention稀疏注意力机制,在保持模型输出质量…

作者头像 李华