开发指南¶
本文档介绍如何从源代码构建GraphScope。
开发环境¶
要从源代码构建GraphScope,您需要准备一个包含许多依赖项和构建工具链的开发环境。您可以通过以下方式准备开发环境
使用我们提供的 开发容器
在本地机器上安装所有工具和依赖项
我们强烈建议您使用开发容器进行开发和测试。
使用开发容器进行开发。¶
我们提供了一个包含所有工具和依赖项的Docker镜像graphscope-dev。
此外,devcontainer.json文件可帮助在Visual Studio Code中快速搭建开发环境。
通过使用开发容器,开发者可以确保其开发环境在不同机器和操作系统之间保持一致,从而更便于与他人协作并维护稳定的开发环境。
要使用开发容器进行GraphScope开发,您可以按照以下步骤操作:
如果尚未安装,请在您的机器上安装Docker。若偏好远程开发,也可在远程机器上安装。
克隆GraphScope代码仓库。
打开Visual Studio Code并导航到GraphScope代码仓库。
如果您已安装Remote Development扩展,可以点击窗口左下角的绿色图标并选择“Remote-Containers: 在容器中重新打开”。如果尚未安装该扩展,可以从Visual Studio Code应用商店进行安装。
如果看不到
Reopen in Container提示,可以按Command + Shift + P(macOS)或Ctrl + Shift + P(Windows, Linux)并输入Reopen in Container。容器构建完成后,您可以在Visual Studio Code中打开终端。
您可以自定义
devcontainer.json文件以满足自身需求。完成修改后,即可使用您的自定义配置重新构建容器。
在本地安装依赖¶
要在本地安装所有依赖项,请使用GraphScope命令行工具gsctl及其子命令install-deps,如下所示
# pip3 install gsctl
gsctl install-deps dev
# for more usage, try
# gsctl install-deps -h
您可以直接下载gsctl或克隆GraphScope到本地,gsctl位于GraphScope的根目录下。
# git clone https://github.com/alibaba/GraphScope.git
cd GraphScope && python3 gsctl.py install-deps dev
构建GraphScope的所有目标¶
您可以通过一条命令构建GraphScope的所有目标。
cd GraphScope && make
这将按顺序构建所有目标,在这里 根据各个组件,您可以在多个位置找到构建产物。
分析引擎:
analytical_engine/build交互式引擎:
interactive_engine/assembly/target学习引擎:
learning_engine/graph-learn/graphlearn/cmake-build
您可以通过以下方式将它们安装到同一位置
make install [INSTALL_PREFIX=/opt/graphscope]
默认情况下,它会将所有组件安装到/opt/graphscope目录,您也可以通过指定INSTALL_PREFIX的值来选择其他安装位置。
单独构建组件¶
GraphScope由多个组件构成,您可以单独构建其中的每一个。如果您仅修改了某个组件的代码,或者希望以解耦的方式使用GraphScope,可以单独构建受影响的组件。
构建与测试引擎¶
您可以参考以下各引擎的构建与测试指南。
构建协调器¶
gscoordinator 包负责启动引擎、循环传递消息和错误,以及调度工作负载操作。
这将安装协调器包,从而使import gscoordinator能够正常工作
提示
该软件包将以可编辑模式安装,这意味着您在本地目录中所做的任何更改都会生效。
make coordinator
构建Python客户端¶
graphscope 包是一个用于操作 GraphScope 的 Python 入口点。
这将安装graphscope-client包,从而使import graphscope能够正常工作。
提示
该软件包也将以可编辑模式安装,这意味着您在本地目录中所做的任何更改都会生效。
make client
构建 gsctl¶
gsctl 包是 GraphScope 的命令行工具。它提供了一系列功能,使 GraphScope 更易于使用。
这将安装gsctl包,从而使gsctl能够正常工作。
提示
该软件包也将以可编辑模式安装,这意味着您在本地目录中所做的任何更改都会生效。
make gsctl