

pip install . TACE安装教程:从踩坑到成功运行(Linux集群版)
一、TACE简介
TACE(Tensorial Atomic Cluster Expansion)是一种基于等变神经网络(Equivariant Neural Network)的原子间势函数框架,支持:
能量预测 力预测 应力预测 分子动力学模拟 多精度训练 GPU加速
其主要依赖包括:
PyTorch PyTorch Geometric ASE NumPy SciPy Pandas Matscipy E3NN
由于涉及大量科学计算库,因此在Linux服务器上安装时经常会遇到编译器和依赖问题。
二、推荐环境
安装anaconda3anaconda安装教程我之前写过,如下:
Conda版本与python版本的对应关系
https://www.anaconda.com/docs/getting-started/anaconda/release-notes
建议使用Conda环境:
#安装anaconda3# 我用的conda 版本 bash Anaconda3-2024.10-1-Linux-86_64.shconda create -n tace python=3.12conda activate tace查看Python版本:
python --version输出:
Python 3.12.13三、安装基础科学计算库
优先使用conda-forge:
conda install -c conda-forge \numpy \scipy \pandas \ase \openblas \cmake \meson \ninja验证:
python - << EOFimport numpyimport scipyimport pandasimport aseprint("NumPy :", numpy.__version__)print("SciPy :", scipy.__version__)print("Pandas:", pandas.__version__)EOF输出:
NumPy : 2.4.6SciPy : 1.17.1Pandas: 3.0.3四、安装编译器工具链
许多用户会直接使用系统编译器:
which gcc输出:
/usr/bin/gcc这通常是错误的。
建议安装Conda工具链:
conda install -c conda-forge \gcc_linux-64 \gxx_linux-64 \gfortran_linux-64安装完成后:
ls $CONDA_PREFIX/bin/*gcc*ls $CONDA_PREFIX/bin/*gfortran*应看到:
$ ls $CONDA_PREFIX/bin/*gcc*/home/xue1/anaconda3/envs/tace/bin/x86_64-conda_cos6-linux-gnu-gcc/home/xue1/anaconda3/envs/tace/bin/x86_64-conda_cos6-linux-gnu-gcc-ar/home/xue1/anaconda3/envs/tace/bin/x86_64-conda_cos6-linux-gnu-gcc-nm/home/xue1/anaconda3/envs/tace/bin/x86_64-conda_cos6-linux-gnu-gcc-ranlib/home/xue1/anaconda3/envs/tace/bin/x86_64-conda-linux-gnu-gcc/home/xue1/anaconda3/envs/tace/bin/x86_64-conda-linux-gnu-gcc-ar/home/xue1/anaconda3/envs/tace/bin/x86_64-conda-linux-gnu-gcc-nm/home/xue1/anaconda3/envs/tace/bin/x86_64-conda-linux-gnu-gcc-ranlib$ ls $CONDA_PREFIX/bin/*gfortran*/home/xue1/anaconda3/envs/tace/bin/x86_64-conda_cos6-linux-gnu-gfortran/home/xue1/anaconda3/envs/tace/bin/x86_64-conda-linux-gnu-gfortran五、配置编译器环境变量
必须保证:
gcc g++ gfortran
来自同一个工具链。
配置:
export CC=$CONDA_PREFIX/bin/x86_64-conda-linux-gnu-gccexport CXX=$CONDA_PREFIX/bin/x86_64-conda-linux-gnu-g++export FC=$CONDA_PREFIX/bin/x86_64-conda-linux-gnu-gfortranexport F77=$FC检查:
echo$CCecho$CXXecho$FC六、升级CMake
很多服务器自带:
/usr/bin/cmake版本:
2.8.x过于陈旧。
安装:
conda install -c conda-forge cmake检查:
$ which cmake~/anaconda3/envs/tace/bin/cmake$ cmake --versioncmake version 4.3.3CMake suite maintained and supported by Kitware (kitware.com/cmake).推荐版本:
4.x#我的是4.3.3七、常见报错与解决方案
1. OpenBLAS not found
错误:
ERROR: Dependency "OpenBLAS" not found解决:
conda install -c conda-forge openblasOpenBLAS 简要解析
定位:开源高性能线性代数库,BLAS(基础线性代数子程序)开源实现,兼容标准BLAS、LAPACK接口,替代商业MKL。 核心用途:矩阵/向量运算(矩阵乘法、向量点积、线性方程组求解),是Python(Numpy)、MATLAB、深度学习框架底层依赖。 优势 跨CPU优化:针对x86、ARM、龙芯等架构做汇编级优化,自动检测CPU指令集(AVX、NEON)提速; 多线程并行:内置多线程,大矩阵运算多核加速; 开源免费,无版权限制,轻量化易编译部署。 短板:相比Intel MKL,针对Intel特有平台调优略弱;多线程调度在极小矩阵时存在开销。 典型场景:科学计算、机器学习训练、数值仿真、服务器/嵌入式数值运算。
2. 使用系统gfortran
错误日志:
Fortran compiler:gfortran 4.8.5#我的机群$ gfortran --versionGNU Fortran (GCC) 4.8.5 20150623 (Red Hat 4.8.5-44)Copyright © 2015 Free Software Foundation, Inc.GNU Fortran 在法律允许的范围内没有任何担保。您可以在遵循 GNU 通用公共许可证的前提下分发 GNU Fortran 的副本。有关事宜的详情请参考名为 COPYING 的文件解决:
conda install -c conda-forge gfortran_linux-64并配置:
export FC=$CONDA_PREFIX/bin/x86_64-conda-linux-gnu-gfortran3. Pandas编译失败
典型错误:
Overflow checking not detected;please try a newer compiler原因:
pip尝试源码编译Pandas。
解决:
不要重新编译Pandas。
直接:
conda install pandas4. pip build isolation问题
很多用户执行:
pip install .此时pip会创建临时构建环境:
/tmp/pip-build-env-xxxx/重新编译:
pandas scipy numpy
从而导致安装失败。
推荐:
pip install -e . --no-build-isolation或者:
pip install . --no-build-isolation八、安装TACE
进入源码目录:
cd tace-main安装:
pip install -e . --no-build-isolation成功后检查:
pip show TACE测试:
tace-train --help$ tace-train --helpTraceback (most recent call last): File "/home/xue1/anaconda3/envs/tace/bin/tace-train", line 3, in <module> from tace.scripts.train import main File "/home/xue1/apps/tace-main/tace/scripts/train.py", line 6, in <module> import yamlModuleNotFoundError: No module named 'yaml'或者:
python -c "import tace"若无报错,则安装成功。
TACE安装后 tace-train 报缺库怎么办?
检查:
python - << EOFmods = ["torch_geometric","lightning","matscipy","e3nn","configargparse","lmdb","huggingface_hub"]for m in mods: try: __import__(m)print("OK",m) except:print("FAIL",m)EOF然后补装:
pip install \lightning \torch_geometric \matscipy \e3nn \configargparse \lmdb \huggingface_hub最后检查:
OK torchOK torch_geometricOK lightningOK omegaconfOK hydraOK matscipyOK aseOK e3nnOK scipyOK configargparseOK pandasOK lmdbOK huggingface_hub这是你目前安装过程中遇到的最后一个大坑。
安装完这些依赖后,再把:
tace-train --help运行这个需要tace.yaml文件,example中有提供。
至此安装完成
九、总结
TACE安装过程中最常见的问题包括:
系统gcc版本过低 gfortran未安装 OpenBLAS缺失 CMake版本过低 pip build isolation导致重新编译SciPy和Pandas Conda工具链与系统工具链混用
推荐原则:
所有科学计算依赖优先使用conda-forge安装; gcc、g++、gfortran必须来自同一工具链; 尽量避免源码编译SciPy和Pandas; 安装TACE时优先使用:
pip install -e . --no-build-isolation这样可以避免90%以上的安装问题。
夜雨聆风