如何为 PuLP 贡献

这是一个设置 pulp 的极简指南,帮助你修改代码并提交 PR。

简而言之:

  1. Fork 仓库。

  2. 克隆你分叉的仓库。

  3. 安装依赖项。

  4. 进行你的修改。

  5. 如果需要,为您的更改创建一个测试。

  6. 确保所有测试通过。

  7. 使用 black 检查你的代码。

  8. 确保文档准确无误。

  9. 提交一个拉取请求。

除了安装了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的 指南