安装openfold(顺利解决版)

首先是我服务器的初始版本:

python==3.7.4

cuda==12.3

torch(没安装,其实安装过,装openfold总是报错,我就uninstall了,你要是也一直报错,就卸载)

开始安装

这里我需要装的python==3.10,torch==2.2,

第一步:创建一个虚拟环境:

复制代码
conda create -n openfold python=3.10 -y
conda activate openfold

第二步:升级下pip(可选)

复制代码
pip install -U pip setuptools wheel

第三步:安装 PyTorch(CUDA12)

CUDA12.3 推荐:

复制代码
pip install torch torchvision torchaudio \
--index-url https://download.pytorch.org/whl/cu121

安装完成后,验证下是否可用:

复制代码
python -c "import torch;print(torch.cuda.is_available())"

第四步:安装 OpenFold 依赖

安装基础库:

复制代码
pip install numpy scipy pandas biopython einops ml-collections
pip install dm-tree modelcif
pip install deepspeed
pip install pytorch-lightning
pip install hydra-core omegaconf
pip install tqdm
pip install requests
pip install ninja
pip install openmm
pip install pdbfixer

第五步:下载 OpenFold

复制代码
git clone https://github.com/aqlaboratory/openfold.git
cd openfold

第六步:编译 OpenFold CUDA kernel

复制代码
python setup.py install

但这里就看你会不会报错:

如果报 C++14错误

复制代码
#error "You're trying to build PyTorch with a too old version of GCC. We need GCC 9 or later."

把setuo.py的-std=c++14改成-std=c++17。

但要求gcc>9,我的cuda的gcc=8.8,所以我就要升级。

网络上是给的命令,我conda安装任何包都会报错:

复制代码
conda install -c conda-forge gcc=11 gxx=11 -y

(openfold) [qio@vol08 openfold]$ conda install -c conda-forge gcc=11 gxx=11 -y
Collecting package metadata (current_repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Collecting package metadata (repodata.json): \ 

所以我改用mamba安装gcc:

首先安装mamba:

复制代码
conda install -y --channel=https://conda.anaconda.org/conda-forge --channel=https://conda.anaconda.org/pytorch --channel=https://conda.anaconda.org/pyg mamba && conda clean -ya

再用mamba安装gcc11:

复制代码
mamba install -c conda-forge gcc=11 gxx=11 -y

设置下编译器:

复制代码
export CC=$CONDA_PREFIX/bin/x86_64-conda-linux-gnu-gcc
export CXX=$CONDA_PREFIX/bin/x86_64-conda-linux-gnu-g++

第七步:重新编译 OpenFold

先清理:

复制代码
cd openfold
rm -rf build
rm -rf openfold.egg-info
rm -rf ~/.cache/torch_extensions

第八步:

复制代码
python setup.py install

最后尝试下安装是否成功:

复制代码
import openfold
import torch
print(torch.cuda.is_available())
相关推荐
小徐不徐说2 小时前
序列化与反序列化:把 C++ 对象可靠地保存下来
开发语言·数据库·c++·php
ragnwang3 小时前
Notes: Python pybind11 import C++ module
开发语言·c++·python
王中阳Go3 小时前
后端转 Agent 岗面试怎么答:8 个高频问题与应答口径
人工智能·后端·python·大语言模型
Wang's Blog3 小时前
Java 项目实战: 交友项目 - 搜索附近的功能概述和分析
java·开发语言·交友
骑着蜗牛撵大象3273 小时前
大模型 Agent 的沙箱护栏:gVisor 隔离、出口白名单与审计闭环
java·开发语言·jvm·安全·agent沙箱·gvisor·microvm
tellmewhoisi3 小时前
深度学习32:卷积神经网络:卷积层(卷积运算,填充,步幅)
人工智能·深度学习·cnn
weixin_307779134 小时前
RAG 面试陷阱——混合检索并非无条件优越:一个条件反转实验
人工智能·python·面试·职场和发展
Dxy12393102164 小时前
JS DES 加密详解
开发语言·javascript·arcgis
充值内卷4 小时前
我给桌面加了个鱼缸:C++ 写后端,WebView2 里养一座 Three.js 小岛
开发语言·javascript·c++
云和数据.ChenGuang4 小时前
深入解析 Python 的 dir():从用法到 CPython 源码实现
开发语言·人工智能·python·langchain