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

conda环境下HPC集群使用pyvoro模块遇导入错误求助

解决pyvoro导入时__cxa_throw_bad_array_new_length未定义的问题

问题本质

这个错误是因为编译pyvoro依赖的C++扩展时使用的GCC版本,与HPC集群运行环境的GCC版本不兼容,导致动态链接时找不到对应的符号。本地能正常运行是因为编译和运行环境的GCC版本一致,而HPC集群的系统库或环境配置与本地存在差异。


解决步骤

1. 匹配集群的GCC版本

首先查看集群可用的GCC版本:

gcc --version
module avail gcc

选择集群预装的、版本≥5.1的GCC(该符号从GCC 5.1开始引入),加载对应的模块:

module load gcc/7.5.0  # 替换为集群实际提供的可用版本

2. 创建适配的conda环境

新建conda环境时,强制使用集群加载的GCC进行编译,避免conda自带编译器与系统库冲突:

conda create -n pyvoro_env python=3.6  # 保持与原环境一致的Python版本
conda activate pyvoro_env

# 设置环境变量,指定编译器路径
export CC=$(which gcc)
export CXX=$(which g++)
# 确保编译时能找到conda环境的头文件和库
export CPPFLAGS="-I$CONDA_PREFIX/include"
export LDFLAGS="-L$CONDA_PREFIX/lib -Wl,-rpath,$CONDA_PREFIX/lib"

3. 从源码编译安装pyvoro

放弃预编译的pip包,直接从源码编译,确保适配集群环境:

# 先卸载已安装的相关包
pip uninstall -y pyvoro voroplusplus

# 克隆pyvoro源码仓库
git clone https://github.com/joe-jordan/pyvoro.git
cd pyvoro

# 编译并安装
python setup.py install

4. 验证安装

在激活的conda环境中运行测试脚本:

python test.py

5. 备选方案:使用conda-forge预编译包

如果源码编译仍有问题,尝试安装conda-forge提供的适配多环境版本:

conda activate pyvoro_env
conda install -c conda-forge pyvoro

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 04:52:37