---
title: 编译安装PyRosetta-官方技术文章-鲲鹏社区
description: 编译安装适配ARM架构的PyRosetta。
keywords: PyRosetta,编译安装,官方技术文章,鲲鹏社区,介绍,Cmake,编译过程中出,Python
url: https://www.hikunpeng.com/developer/techArticles/20251022-5?envFlag=1
section: (其他)
---

# 编译安装PyRosetta-官方技术文章-鲲鹏社区

URL: https://www.hikunpeng.com/developer/techArticles/20251022-5?envFlag=1
描述: 编译安装适配ARM架构的PyRosetta。
关键词: PyRosetta,编译安装,官方技术文章,鲲鹏社区,介绍,Cmake,编译过程中出,Python

官方技术文章 [了解详情](https://www.hikunpeng.com/zh/developer/techArticles)

编译安装PyRosetta

编译安装PyRosetta

软件迁移

发表于 2025/10/22

0

作者 | 丁浩源

## 介绍

Rosetta是一款在生物信息学和蛋白质科学领域备受推崇的软件包，专门用于蛋白质结构预测和蛋白质设计，而PyRosetta则是Rosetta的Python接口。目前官方网站提供的直接下载链接中，支持aarch64架构的版本仅限于Python 3.9和3.10。若需使用其他Python版本，需要自行下载源码 [了解详情](https://github.com/RosettaCommons/rosetta?tab=readme-ov-file)进行编译。

编译安装

安装编译环境

安装编译环境，需准备Conda、Python、Ninja以及CMake。

1. 安装Conda，详见Conda安装教程 [了解详情](https://www.hikunpeng.com/document/detail/zh/kunpenghpcs/hpcindapp/prtg-osc/kunpengalphafold_02_0006.html)。
2. 通过Conda安装Ninja，Ninja的安装教程可以查看Rosetta的源码README。
3. 安装CMake，详见CMake安装教程 [了解详情](https://www.hikunpeng.com/document/detail/zh/kunpengbds/ecosystemEnable/Hadoop/kunpenghadoop_02_0007.html)。
4. 安装完成上述环境之后，使用Conda新增一个Python环境，例如Python 3.7版本，环境名可自定义。

```
conda create -n 环境名 python=3.7#激活版本conda activate py37
```

安装PyRosetta

1. 编译安装PyRosetta。

```
cd source/src/python/PyRosettapython3 build.py -j24 --create-package $HOME/my_pyrosetta_packagecd $HOME/my_pyrosetta_package/setuppython3 setup.py install
```

若执行第二步出现“Cmake is not able to find Python-libraries”报错，请参考2-编译过程中出现Cmake is not able to find Python-libraries的解决方法进行处理。

安装完成之后，可以看到如下打印日志：

可以看到指定目录的rosetta.so为Arm版本。
2. 导入PyRosetta库。

```
import pyrosetta
```

## 编译过程中出现Cmake is not able to find Python-libraries的解决方法

#### 问题现象描述

编译安装PyRosetta过程中出现“Cmake is not able to find Python-libraries”。

#### 关键过程、根本原因分析

通过查看Rosetta源码发现，rosetta.cmake文件使用了${PYTHON_LIBRARY}、${PYTHON_INCLUDE_DIR}这两个变量，这两个变量的值是由build.py中传入的，与以下参数相关，且build.py调用CMake：

```
--python-include-dir--python-lib
```

如果没有传入--python-include-dir和--python-lib，可能会提示CMake找不到Python的lib和so文件。

#### 结论、解决方案及效果

修改编译命令为：

```
python3 build.py -j8 --create-package /root/demo/my_pyrosetta_package --python-include-dir /root/anaconda3/envs/py37/include/python3.7m --python-lib /root/anaconda3/envs/py37/lib/libpython3.7m.so.1.0
```

- --python-include-dir：Python的include地址，存放.h文件，其中就包括Python.h。
- --python-lib：Python的SO文件地址。
- -j：官网为24，若系统内存小于32GB，建议使用-j4或者-j8。

本页内容
