创建开发环境#
为了测试修改后的代码,你需要从源码构建 Xorbits。这需要安装一个 C/C++ 编译器,Node.js,以及 Python 环境。另外强烈推荐安装 pre-commit hooks。
目录
步骤 1:安装 C 编译器#
如何安装 C 编译器取决于你所使用的平台。如果你在下一步选择使用 Docker
,可以跳过当前步骤。
Windows
你需要安装 Build Tools for Visual Studio 2022。
备注
你不需要安装 Visual Studio 2022。仅需要下滑到 “All downloads” -> “Tools for Visual Studio” 并安装 “Build Tools for Visual Studio 2022”。在安装过程中,选择 “Desktop development with C++”。
或者,你可以使用命令行工具 vs_BuildTools.exe 安装所需的组件。
此外你还可以选择使用 WSL 。请参考下方 Linux
一节。
macOS
为了使用 conda-based 的编译器,你需要执行 xcode-select --install
以安装开发者工具(Developer Tools)。安装编译器相关的其他信息请参考:https://devguide.python.org/setup/#macos
Linux
若在 Linux 环境下使用 conda,则不需要安装其他依赖。因此,如果你使用 conda,请忽略下面的步骤。
某些 Linux 发行版自带了 C 编译器。执行以下命令检查系统中安装了哪些编译器及其版本:
# for Debian/Ubuntu:
dpkg --list | grep compiler
# for Red Hat/RHEL/CentOS/Fedora:
yum list installed | grep -i --color compiler
GCC (GNU Compiler Collection) 是广泛使用的编译器之一,支持 C 及一些其他语言。如果已经安装了 GCC,则不需要再安装其他编译器。
如果没有安装任何 C 编译器,或你想要升级当前的编译器,又或你使用了其他 Linux 发行版,请搜索相关文档进行安装/升级。
如果你碰到了任何困难,请通过 issue,或 开发者社区 联系我们。
步骤 2:安装 Node.js#
为构建 Xorbits web UI,你需要安装 Node.js。推荐使用 nvm 进行安装。
备注
Xorbits 支持的 Node.js 最小版本为 18。
步骤 3:创建隔离的 Python 环境#
在开始之前:
确保你已经完成了 克隆代码仓库
使用
cd
命令进入代码仓库目录
选择 1:使用 conda (强烈推荐)#
安装 conda
# Create and activate the build environment
conda create --name xorbits-dev python=3.10
conda activate xorbits-dev
选择 2:使用 Docker#
除非你需要在镜像中安装额外的 Python 库,否则强烈建议直接使用 DockerHub 上的 Xorbits 的官方镜像作为完备的开发环境。
Dockerhub 上的镜像包括了所有 Xorbits 支持的 Python 版本,以 py<python_version>
为后缀。对于镜像标签的前缀,nightly-main
表示该镜像由每天 Xorbits Github 主分支 构建而来,v<release_version>
表示该镜像在 Xorbits 发布时构建,对应相应的 Xorbits 发布版本。你可以根据需要选择拉取对应的镜像。
如果你真的需要手动构建镜像,Xorbits 在 python/xorbits/deploy/docker
目录下提供了一个 Dockerfile 用以构建包含完备开发环境的镜像。
Docker 构建命令
构建镜像
# Switch the current working directory to the top-level "xorbits" directory
$ cd xorbits
# Build the image
docker build -t xorbits-dev --progress=plain -f python/xorbits/deploy/docker/Dockerfile . --build-arg PYTHON_VERSION=<your_python_version>
运行容器
# Run a container and bind your local repo to the container
# This command assumes you are running from your local repo
# but if not alter ${PWD} to match your local repo path
docker run -it --rm xorbits-dev /bin/bash
更简单的是,你可以将 Docker与 以下集成开发环境(IDE)进行整合:
Visual Studio Code
你可以使用 Dockerfile 和 .devcontainer.json
文件来在 Visual Studio Code 中启动远程会话。有关详细信息,请参阅 https://code.visualstudio.com/docs/remote/containers
。
PyCharm (Professional)
要在 PyCharm 中启用 Docker支持
并使用 Services
工具窗口构建、管理镜像以及运行和与容器交互,请参考 https://www.jetbrains.com/help/pycharm/docker.html
获取详细信息。
步骤 4:构建并安装 Xorbits#
你可以执行:
# Build and install Xorbits
python -m pip install -e ".[dev]"
python setup.py build_ext -i
python setup.py build_web
现在,你可以 import 本地构建的 Xorbits:
$ python
>>> import xorbits
>>> print(xorbits.__version__) # note: the exact output may differ
0.1.1+20.g9b58334.dirty
上述步骤会创建一个新的 Python 环境,不会对已有的环境造成影响。
备注
每当 web UI,C 的扩展代码,或从 upstream/main
合并代码后,你都需要重复上面的构建与安装过程。