如何为 PuLP 贡献
这是一个设置 pulp 的极简指南,帮助你修改代码并提交 PR。
简而言之:
Fork 仓库。
克隆你分叉的仓库。
安装依赖项。
进行你的修改。
如果需要,为您的更改创建一个测试。
确保所有测试通过。
使用 black 检查你的代码。
确保文档准确无误。
提交一个拉取请求。
除了安装了Python之外,我们还将使用git和命令行。此外,我们假设您有一个GitHub账户并且知道如何fork一个项目。我们将通过命令行使用普通的git,但您可以随意使用您选择的git客户端。
Forking PuLP
你可以按照 github 指南来 fork 一个项目:这里 和 还有这里。
你需要一个 GitHub 账户来 fork 一个 GitHub 项目。它是免费的。
克隆项目
首先,你需要从你的分支下载 pulp 项目。在以下命令中,将 pchtsp
替换为你的实际用户名:
git clone git@github.com:pchtsp/pulp.git
就这样,你将下载整个项目。
从源代码安装
要构建 pulp 源代码,我们将进入 pulp 目录,然后创建一个虚拟环境并安装依赖项。最后,我们将执行 setup.py
。我假设是 Linux / Mac。Windows 的命令非常相似:
cd pulp
python3 -m venv venv
source venv/bin/activate
python -m pip install -r requirements-dev.txt
python3 setup.py develop
这将把虚拟环境中的 pulp 版本与 pulp 目录中的源文件链接起来。你现在可以从该虚拟环境中使用 pulp,并且你将使用 pulp 目录中的文件。我们假设你已经成功运行了此步骤,以便进行后续的所有步骤。
运行测试
要运行 pulp 的测试,你需要运行:
cd pulp
python3 pulp/tests/run_tests.py
它将检测系统中的求解器,并测试所有找到的求解器。
创建一个测试
当你在pulp中修复一个问题或添加一个功能时,你应该向仓库中添加一个测试。为此,你应该转到文件 tests/test_pulp.py 并添加一个新的方法来测试你的更改。
应用 black linter / formatter
我们使用 the black formatter。在提交更改之前,请确保执行 black 包以格式化生成的文件。最快捷的方法是运行:
python -m black pulp
并且它将直接在文件上进行更改。
最简单的方法是将其集成到您的IDE中,这样每次保存文件时它都会运行。了解如何做到这一点 在black集成文档中。
构建文档
文档基于 Sphinx 和 reStructuredText。
要构建文档:
cd pulp/doc
make html
将在 build/
目录内创建一个名为 html 的文件夹。文档的主页是 doc/build/html/index.html
,可以在浏览器中打开。每次只需执行 make html
即可重新构建文档。
提交拉取请求
当你在本地完成更改并对结果满意时,你可以提交更改,推送到GitHub,然后创建一个PR。前两步很简单:
git status # this shows what's changed
git add some_modified_file.py # do this for all changes you want to write
git commit -m "some message" # include a meaningful message
git push origin
为了向原始仓库创建一个PR,请遵循GitHub的 指南。