你在哪里克隆Python模块git存储库?

时间:2017-12-22 10:52:41

标签: python git github module repository

我有兴趣贡献一个GitHub Python模块repo,但我不完全确定在哪里克隆它。这是一个简单的模块,只有__init__.py和一些.py个文件。不需要在模块文件夹之外安装或更改其他文件。

我希望能够直接在我的site-packages文件夹中克隆存储库。当我想按原样使用库时,我会切换到主分支。如果我想开发一个新功能,可以分支开发。如果我想尝试其他人实现的新功能,我可以切换到该特定分支。我甚至可以将它保留在开发分支中,以获得最新的,尽管可能不稳定的功能。所有这些都无需将import语句更改为指向任何脚本中的其他位置。这个选项,虽然似乎做了我想要它做的所有事情,但由于某种原因似乎有点不对。另外,我不确定在调用python -m pip list --outdated时这会怎么做。我觉得它不知道当前的版本是什么。

另一种选择是将其克隆到其他文件夹,并仅将pip安装的变体保留在site-packages文件夹中。这样我就可以在site-packages中安装一个正确的库,我可以通过在repo文件夹中创建一个脚本来尝试新功能。这似乎不像上面的选项那么灵活,但它不会弄乱site-packages文件夹。

哪种方法最好?当您想要处理它们并将它们与最新功能一起使用时,如何克隆存储库?

1 个答案:

答案 0 :(得分:2)

我认为这是一个关于打包和开源的问题,而不是Python本身,但我会尽力帮助你。

  • 如果你想在Pip上托管你的软件包,你应该去here,然后你就会看到如何上传和标记你的软件包以供使用。

  • 如果您想为某些开源库添加一些功能,您可以尝试submit a Pull Request到该库,这样每个人都可以使用它。 PR的规则是针对每个项目的,您应该向维护者询问。

  • 如果您的修改未合并到母版,但您仍希望在不更改import语句的情况下使用它,则可以 fork 该回购并发布你自己的修改,例如,Github。

    在这种情况下,您可以安装如下修改:

    pip install git+https://github.com/username/amazing-project.git
    

    因此,您的图书馆将来自您自己的仓库。

如果您要使用第三个选项,我强烈建议您使用virtualenv,您可以在其中创建具有不同软件包,依赖项等的不同虚拟环境,而不会弄乱您的Python安装。有一本很好的指南here