开发指南¶
Git 是软件工程中常用的工具。PyCharm 是一个流行的 Python IDE,开发者也可以根据自己的喜好选择其他 IDE。现在,我们以 PyCharm 为例。通过 PyCharm 进行设置,可以轻松地同时处理 AI4Finance-Foundation 的所有代码仓库,同时方便进行调试、提交到相应的仓库并创建 PRs/MRs。
步骤 1: 下载软件¶
-下载并安装 Anaconda。
-下载并安装 PyCharm。社区版(免费版)提供了运行 Jupyter notebook 之外的所有功能。完整功能的专业版提供了所有功能。在社区版中运行现有 notebook 的一个变通方法是将所有 notebook 单元格复制到 .py 文件中。如需 notebook 支持,您可以考虑 PyCharm 专业版。
-在 GitHub 上,将 FinRL 分叉(fork)到您的私有 Github 仓库。
-在 GitHub 上,将 ElegantRL 分叉(fork)到您的私有 Github 仓库。
-在 GitHub 上,将 FinRL-Meta 分叉(fork)到您的私有 Github 仓库。
-所有后续步骤都在您的本地计算机上进行。
步骤 2: Git Clone¶
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 项目文件夹]

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

-在屏幕左侧的项目文件树中
右键点击 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: 创建 Commit 和 PRs/MRs¶
-像往常一样通过 PyCharm 创建 commit。
-确保每个 commit 只涉及 3 个仓库中的一个。不要创建跨越多个仓库的 commit,例如同时涉及 FinRL 和 ElegantRL。

-当您执行 Git Push 时,PyCharm 会询问您要推送到 3 个仓库中的哪一个。就像上图所示,我们选择“FinRL”仓库。
关于创建拉取请求(PR)或合并请求(MR),请参考 创建 PR 或 Opensource 创建 PR。
步骤 7: 提交 PRs/MRs¶
提交 PRs/MRs 时,请选择“staging”分支,而非“master”分支。
步骤 8: 将“staging”合并到“master”¶
此步骤面向项目管理者。如果“staging”分支在一系列测试后稳定且能成功运行,该仓库的管理者将每 2-4 周将其合并到“master”分支。为避免任何风险,我们希望管理者在合并前将“master”分支下载到本地。