【昇腾故障案例-安装部署】pip3 install numpy报错

在CentOS系统中,由于默认gcc版本过低,尝试使用pip3安装numpy时可能会遇到CouldnotbuildwheelsfornumpywhichusePEP517andcannotbeinstalleddirectly的错误。为解决此问题,可以设置环境变量CFLAGS=-std=c99,并指定numpy版本(例如1.17.2)进行安装。

问题现象描述

安装依赖时,使用pip3 install numpy命令安装时报错“Could not build wheels for numpy which use PEP 517 and cannot be install directly”,提示信息如下:

原因分析

centos等系统默认安装的gcc版本较低,导致numpy安装失败。

解决措施

执行如下命令安装:

export CFLAGS=-std=c99
pip3 install numpy==1.17.2
<think>我们面临的任务是在银河麒麟系统上离线安装升腾910B驱动及LLaMa-Factory。由于是无网络环境,我们需要预先下载所有必要的安装包和依赖,然后通过离线方式安装。 根据引用[1]和[2],我们可以知道LLaMA-Factory的安装通常需要以下步骤: 1. 安装依赖(包括Python环境、torch等) 2. 克隆LLaMA-Factory仓库 3. 安装LLaMA-Factory的Python依赖 但是,由于是离线环境,我们无法直接使用`git clone`和`pip install`从网络获取资源。因此,我们需要准备: - 升腾910B的驱动和固件(.run文件) - Cann工具包(用于昇腾AI处理器的计算架构) - Python环境(包括pip和所需wheel包) - LLaMA-Factory的源码包(提前下载好) - 模型文件(Qwen等大模型权重) - 数据集(如果需要训练) 步骤概览: ### 一、准备离线安装包 1. **下载升腾910B驱动和固件**:从华为昇腾社区下载对应版本的驱动和固件(例如:Ascend-hdk-910b-npu-driver_x.x.x_linux-aarch64.run, Ascend-hdk-910b-npu-firmware_x.x.x.run)。 2. **下载CANN工具包**:下载适用于昇腾910B的CANN工具包(例如:Ascend-cann-toolkit_x.x.x_linux-aarch64.run)。 3. **下载Python环境**:银河麒麟系统通常自带Python,但我们需要确认版本(LLaMA-Factory要求Python>=3.8)。如果没有,则需要下载对应版本的Python安装包(例如,Miniconda或Python源码包)。 4. **下载LLaMA-Factory源码**:在有网络的环境下,使用git克隆LLaMA-Factory仓库,然后打包成zip(或者直接下载仓库的zip包)。 5. **下载PyTorch的wheel包**:由于昇腾910B需要使用特定的PyTorch版本(如torch_npu),我们需要下载对应的wheel包(包括torch、torchvision、torchaudio等)以及其依赖(如numpy等)。这些wheel包可以从华为昇腾社区获取。 6. **下载其他依赖包**:使用`pip download`命令下载LLaMA-Factory所需的其他依赖包(在`requirements.txt`中列出)。 ### 二、安装升腾910B驱动和固件 1. 将下载好的驱动和固件上传到目标机器。 2. 安装驱动: ```bash chmod +x Ascend-hdk-910b-npu-driver_x.x.x_linux-aarch64.run ./Ascend-hdk-910b-npu-driver_x.x.x_linux-aarch64.run --full ``` 3. 安装固件: ```bash chmod +x Ascend-hdk-910b-npu-firmware_x.x.x.run ./Ascend-hdk-910b-npu-firmware_x.x.x.run --full ``` 4. 检查安装:使用`npu-smi info`命令查看驱动和固件版本,以及设备状态。 ### 三、安装CANN工具包 1. 上传CANN工具包。 2. 安装: ```bash chmod +x Ascend-cann-toolkit_x.x.x_linux-aarch64.run ./Ascend-cann-toolkit_x.x.x_linux-aarch64.run --install ``` 3. 配置环境变量:在`~/.bashrc`中添加: ```bash source /usr/local/Ascend/ascend-toolkit/set_env.sh ``` 然后执行`source ~/.bashrc`。 ### 四、安装Python环境 如果系统没有合适的Python环境,需要先安装。建议使用Miniconda创建隔离环境。 1. 下载Miniconda安装包(Linux aarch64版本)并上传。 2. 安装Miniconda: ```bash bash Miniconda3-latest-Linux-aarch64.sh ``` 3. 创建并激活conda环境: ```bash conda create -n llama_factory python=3.10 conda activate llama_factory ``` ### 五、安装PyTorch和torch_npu 1. 上传下载好的PyTorch wheel包(包括torch、torch_npu等)到目标机器。 2. 安装: ```bash pip install torch-2.1.0-cp310-cp310-linux_aarch64.whl pip install torch_npu-2.1.0-cp310-cp310-linux_aarch64.whl ``` 注意:版本号需与下载的wheel包一致。 ### 六、安装LLaMA-Factory 1. 上传LLaMA-Factory源码包并解压。 2. 进入LLaMA-Factory目录: ```bash cd LLaMA-Factory ``` 3. 安装其他依赖:将之前下载的依赖包(wheel文件)放在一个目录(如`offline_packages`),然后使用pip安装: ```bash pip install --no-index --find-links=./offline_packages -r requirements.txt ``` 注意:如果缺少某些包,需要提前下载好并放入`offline_packages`目录。 ### 七、准备模型和数据集 1. 下载模型权重(如Qwen-7B),上传到目标机器。 2. 如果需要训练,准备数据集并上传。 ### 八、验证安装 1. 尝试运行LLaMA-Factory的训练脚本,例如: ```bash python src/train_bash.py \ --stage sft \ --do_train \ --model_name_or_path /path/to/Qwen-7B \ --dataset alpaca_gpt4_zh \ --template default \ --finetuning_type lora \ --output_dir output \ --overwrite_cache \ --per_device_train_batch_size 4 \ --gradient_accumulation_steps 4 \ --lr_scheduler_type cosine \ --logging_steps 10 \ --save_steps 1000 \ --learning_rate 5e-5 \ --num_train_epochs 3.0 \ --fp16 ``` 注意:这里需要根据实际情况调整参数,比如模型路径、数据集等。 ### 注意事项 - 由于是离线环境,所有步骤都需要预先下载并传输到目标机器。 - 确保下载的驱动、固件、CANN工具包、PyTorch wheel包等与银河麒麟系统的架构(aarch64)和内核版本兼容。 -安装过程中,可能会遇到依赖缺失的问题,需要根据错误信息补充下载相应的包。 ### 相关问题 1. 如何检查昇腾910B驱动和固件是否安装成功? 2. 在离线环境中如何解决Python依赖包的依赖冲突? 3. LLaMA-Factory支持哪些模型和数据集? 4. 如何配置LLaMA-Factory的训练参数以适配昇腾910B?</think>### 银河麒麟系统离线安装升腾910B驱动及LLaMA-Factory指南 #### 一、准备工作 1. **下载离线资源包**(需在联网环境完成): - 昇腾910B驱动:从华为官网下载`.run`格式驱动包(如`Ascend-hdk-910b-npu-driver_x.x.x_linux-aarch64.run`) - CANN工具包:下载对应版本(如`Ascend-cann-toolkit_x.x.x_linux-aarch64.run`) - LLaMA-Factory源码:克隆仓库并打包 ```bash git clone --depth 1 https://github.com/hiyouga/LLaMA-Factory.git tar -czvf LLaMA-Factory-offline.tar.gz LLaMA-Factory ``` - Python依赖包:在联网机器生成依赖清单 ```bash pip download -r LLaMA-Factory/requirements.txt --platform manylinux2014_aarch64 ``` 2. **传输至离线环境**: ```bash # 文件结构 offline_packages/ ├── Ascend-driver.run # 昇腾驱动 ├── CANN-toolkit.run # CANN工具包 ├── LLaMA-Factory-offline.tar.gz └── pip_packages/ # 所有.whl依赖包 ``` #### 二、安装昇腾910B驱动 1. 安装依赖库: ```bash sudo apt-get install -y gcc g++ make cmake unzip python3-dev ``` 2. 安装驱动: ```bash chmod +x Ascend-driver.run sudo ./Ascend-driver.run --full --install-for-all ``` 3. 验证安装: ```bash npu-smi info # 应显示昇腾910B设备信息 ``` #### 三、安装CANN工具包 ```bash chmod +x CANN-toolkit.run sudo ./CANN-toolkit.run --install # 配置环境变量 echo "source /usr/local/Ascend/ascend-toolkit/set_env.sh" >> ~/.bashrc source ~/.bashrc ``` #### 四、部署LLaMA-Factory 1. 解压源码: ```bash tar -xzvf LLaMA-Factory-offline.tar.gz cd LLaMA-Factory ``` 2. 离线安装Python依赖: ```bash pip install --no-index --find-links=../pip_packages -e ".[torch,metrics]" ``` 3. 验证安装: ```bash python -c "from llmtuner import create_app; print(&#39;SUCCESS&#39;)" ``` #### 五、配置模型与训练(示例) 1. 放置模型权重: ```bash mkdir -p models/Qwen-7B # 将离线下载的Qwen-7B模型文件放入此目录 ``` 2. 启动训练(适配昇腾910B): ```bash python src/train_bash.py \ --stage sft \ --do_train \ --model_name_or_path models/Qwen-7B \ --dataset alpaca_gpt4_zh \ --template qwen \ --finetuning_type lora \ --output_dir output \ --fp16 \ --device npu # 关键:指定昇腾设备 ``` > **重要提示**: > 1. 银河麒麟需使用aarch64架构的安装包 > 2. 若遇`GLIBC`版本问题,需同步升级系统基础库[^2] > 3. 训练时添加`--device npu`参数强制使用昇腾硬件[^3] #### 六、常见问题解决 - **驱动兼容问题**:确保驱动版本与麒麟内核版本匹配 - **依赖缺失**:通过`ldd`检查动态库,缺失则从麒麟ISO提取 - **存储空间**:模型文件需预留50GB+空间 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值