开发指南

Git 是软件工程中常用的工具。PyCharm 是一个流行的 Python IDE,开发者也可以根据自己的喜好选择其他 IDE。现在,我们以 PyCharm 为例。这种与 PyCharm 的设置使得同时处理所有 AI4Finance-Foundation 的仓库变得容易,同时允许轻松调试、提交到相应的仓库并创建 PRs/MRs。

第一步:下载软件

-下载并安装 Anaconda

-下载并安装 PyCharm。社区版(免费版本)提供了除运行Jupyter笔记本之外的所有功能。完整版专业版提供了所有功能。在社区版中运行现有笔记本的解决方法是将所有笔记本单元格复制到.py文件中。 对于笔记本支持,您可以考虑使用PyCharm专业版。

-在GitHub上,将FinRL fork到你的私人GitHub仓库。

-在GitHub上,将ElegantRL fork到你的私人GitHub仓库。

-在GitHub上,将FinRL-Meta fork到你的私人GitHub仓库。

-所有接下来的步骤都在您的本地计算机上进行。

步骤2: Git克隆

mkdir ~/ai4finance
cd ~/ai4finance
git clone https://github.com/[your_github_username]/FinRL.git
git clone https://github.com/[your_github_username]/ElegantRL.git
git clone https://github.com/[your_github_username]/FinRL-Meta.git

步骤3:创建一个Conda环境

cd ~/ai4finance
conda create --name ai4finance python=3.8
conda activate ai4finance

cd FinRL
pip install -r requirements.txt

使用requirements.txt安装ElegantRL,或者在文本编辑器中打开ElegantRL/setup.py并pip安装你能找到的任何东西:gym、matplotlib、numpy、pybullet、torch、opencv-python和box2d-py。

步骤4:配置PyCharm项目

-启动 PyCharm

-文件 > 打开 > [ai4finance 项目文件夹]

../_images/pycharm_status_bar.png

-在状态栏的右下角,将解释器更改为或添加到ai4finance conda环境。确保当你点击左下角的“terminal”栏时,它显示的是ai4finance。

../_images/pycharm_MarkDirectoryAsSourcesRoot.png

-在屏幕的左侧,项目文件树中:

  • 右键点击FinRL文件夹 > 标记目录为 > 源根目录

  • 右键点击ElegantRL文件夹 > 标记目录为 > 源根目录

  • 右键点击FinRL-Meta文件夹 > 标记目录为 > 源根目录

-一旦你运行了一个.py文件,你可能会注意到仍然缺少一些包。在这种情况下,只需使用pip安装它们。

例如,我们修改了FinRL。

cd ~/ai4finance
cd ./FinRL
git checkout -b branch_xxx

其中 branch_xxx 是一个新的分支名称。在这个分支中,我们修改了 config.py。

步骤5:新建一个分支

请基于分支“staging”(而不是“master”)创建一个新分支,该分支适用于所有开发人员。不要直接将代码推送到“staging”或“master”分支。

步骤6:创建提交和PR/MR

-像往常一样通过PyCharm创建提交。

-确保每次提交仅涵盖3个仓库中的1个。不要创建跨越多个仓库的提交,例如FinRL和ElegantRL。

../_images/pycharm_push_PR.png

-当你执行Git Push时,PyCharm会询问你要推送到3个仓库中的哪一个。就像上图所示,我们选择仓库“FinRL”。

关于创建拉取请求(PR)或合并请求(MR),请参考创建PR开源创建PR

步骤7:提交PRs/MRs

提交PRs/MRs时,请选择分支“staging”,而不是“master”。

步骤8:将“staging”合并到“master”

此步骤适用于管理者。如果分支“staging”在一系列测试后稳定且成功运行,此仓库的管理者将每2-4周将其合并到分支“master”。为了避免任何风险,我们希望管理者在合并之前先在本地下载“master”分支。