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

非sudo权限下如何在Miniconda中安装GLIBCXX_3.4.29?

解决无sudo权限下pyg-lib/torch-sparse依赖GLIBC/GLIBCXX缺失问题

方案一:用conda安装兼容预编译包(最简便)

Miniconda的conda-forge源提供了适配低版本GLIBC的pyg相关预编译包,完全不用折腾系统库:

  • 创建并激活独立环境(避免污染现有项目环境):
    conda create -n pyg_env python=3.8  # 替换为你项目使用的Python版本
    conda activate pyg_env
    
  • 安装匹配版本的PyTorch(示例为CPU版,若需CUDA请替换为对应命令):
    conda install pytorch torchvision torchaudio cpuonly -c pytorch
    
  • 安装pyg-lib和torch-sparse:
    conda install pyg-lib torch-sparse -c pyg -c conda-forge
    

方案二:利用本地编译的GLIBC-2.29运行程序

如果你已经在~/local/glibc-2.29完成GLIBC-2.29的编译安装,可通过指定动态链接库路径让Python加载本地GLIBC:

  • 临时生效(每次运行脚本前执行):
    LD_PRELOAD=~/local/glibc-2.29/lib/libc.so.6 python your_project_script.py
    
  • 永久绑定到conda环境(仅激活环境时生效):
    1. 创建环境激活脚本:
      mkdir -p $CONDA_PREFIX/etc/conda/activate.d
      echo 'export LD_PRELOAD=~/local/glibc-2.29/lib/libc.so.6' > $CONDA_PREFIX/etc/conda/activate.d/set_glibc.sh
      
    2. 创建环境退出脚本恢复系统默认:
      mkdir -p $CONDA_PREFIX/etc/conda/deactivate.d
      echo 'unset LD_PRELOAD' > $CONDA_PREFIX/etc/conda/deactivate.d/unset_glibc.sh
      
    之后激活该conda环境时会自动加载本地GLIBC,退出环境时恢复系统设置。

方案三:从源码编译pyg-lib/torch-sparse(适配系统GLIBC)

若前两种方案失效,可手动编译源码,让生成的库适配系统现有GLIBC版本:

  • 激活conda环境,安装编译依赖:
    conda install cmake ninja setuptools scipy
    
  • 编译安装pyg-lib:
    git clone https://github.com/pyg-team/pyg-lib.git
    cd pyg-lib
    python setup.py install --user
    
  • 编译安装torch-sparse:
    git clone https://github.com/pyg-team/torch-sparse.git
    cd torch-sparse
    python setup.py install --user
    

注意事项

  • 优先尝试方案一,conda预编译包是最省心的解决方案,无需手动处理GLIBC依赖。
  • 方案二中的LD_PRELOAD可能影响部分系统命令,建议仅绑定到需要使用pyg库的conda环境。
  • 编译源码时确保conda环境的cmake版本≥3.18,否则可能出现编译错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 19:27:39