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

Red Hat 7 HPC集群Python虚拟环境中numpy安装失败求助

在HPC集群Python虚拟环境中安装Numpy时的域名解析问题排查与解决建议

问题背景

运行环境为Red Hat Enterprise Linux Server 7的高性能计算(HPC)集群,采用Slurm 17.11.12作为作业管理器,使用Anaconda 3-5.3.1管理Python环境。操作流程如下:

  • 加载Slurm模块:module load slurm/17.11.12
  • 加载Anaconda模块:module load anaconda/3-5.3.1
  • 创建名为abdou_env的虚拟环境:python3 -m venv abdou_env
  • 激活虚拟环境:source abdou_env/bin/activate

激活环境后执行pip3 install numpy,出现域名解析失败错误,具体报错信息:

Collecting numpy
  WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7fffef3c6d50>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution')': /simple/numpy/
  WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7fffef3c6d10>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution')': /simple/numpy/
  WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7fffef3c6790>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution')': /simple/numpy/
  WARNING: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7fffef3c6150>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution')': /simple/numpy/
  WARNING: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7fffef3c6050>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution')': /simple/numpy/
  ERROR: Could not find a version that satisfies the requirement numpy (from versions: none)
ERROR: No matching distribution found for numpy

额外信息:虚拟环境内Python版本为3.7,Pip版本为19.2.3,已确认网络连通性正常,怀疑集群模块系统或环境配置存在问题。


排查方向

  • 检查DNS配置:激活虚拟环境后执行cat /etc/resolv.conf,确认文件内包含有效的DNS服务器地址;同时执行ping pypi.org,验证域名解析是否正常,若ping不通则说明DNS配置存在问题。
  • 核查环境变量:执行env | grep -i proxy,排查是否存在错误的代理配置导致域名解析失败;再执行env | grep PYTHON,确认Anaconda相关环境变量是否正确加载。
  • 验证环境隔离性:激活虚拟环境后,执行which pip3和which python3,确认路径指向虚拟环境内部,避免误用系统或Anaconda全局的pip工具。

解决建议

  • 配置pip国内镜像源:在虚拟环境所在用户目录下创建~/.pip/pip.conf文件,添加以下内容(需确保集群允许访问国内源):
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple

配置完成后重新执行pip3 install numpy。

  • 改用Anaconda创建虚拟环境:利用已加载的Anaconda模块,通过conda create -n abdou_env python=3.7创建环境,执行conda activate abdou_env激活后,使用conda install numpy完成安装。Anaconda的源配置通常更适配HPC集群环境,可避免部分网络解析问题。

  • 通过Slurm作业提交安装任务:部分HPC集群的登录节点会限制对外网络访问,需将安装操作提交到计算节点执行。编写如下作业脚本(命名为install_numpy.sh):

#!/bin/bash
#SBATCH --job-name=install_numpy
#SBATCH --nodes=1
#SBATCH --ntasks=1

module load slurm/17.11.12
module load anaconda/3-5.3.1
source abdou_env/bin/activate
pip3 install numpy

执行sbatch install_numpy.sh提交作业,等待计算节点完成安装。

  • 升级pip版本:激活虚拟环境后执行pip3 install --upgrade pip,将pip升级至较新版本后,再尝试安装numpy。旧版本pip可能存在域名解析相关的兼容性问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 08:36:17