python 包装和 GitHub 的规范工作流程

Canonical workflow for python packaging and GitHub

我正在做一个我发布到 PyPi 的独立项目。现在我已经使用 pip 安装了它,而不是从我的 git 存储库中使用它,继续开发的最佳实践是什么?

到目前为止我已经尝试了两种方法:

  1. 天真:在 site-packages 文件夹中编辑脚本,测试它们,一旦完成,复制到 repo 并推送(构建、发布等)
  2. 二重身:制作一个(稀疏的)回购来跟踪 site packages 中的脚本,随时推送。准备好发布后,转到包含完整存储库的文件夹,拉取然后构建>发布。

现在,1.太笨重了,而2.让我很不满意。本来想用bash的小技巧来精简2.,不过想到这里的高手可能有更精简的东西,所以问一下。

谢谢!

对于开发,您仍然希望从 git 存储库而不是 PyPi.

获取和编辑源代码

例如,如果您的 git 存储库位于 .../src/myproject/ 下,我会 运行 pip install .myproject 中。如果从 PyPi 下载,这将以与 pip install myproject=={version} 完全相同的方式模拟安装。 (将代码复制到site-packages

更适合开发的是 pip install -e .,它将 site-packages 中的符号 link 设置回您的源目录。因此,虽然看起来您的项目已安装在您的 venv 中,但实际上它只是在使用您的 git 存储库文件夹中的源代码。

一般来说,从 PyPi 下载的是您脚本的用户,而不是贡献者。

如果您希望我对此进行扩展,请在评论中告诉我。