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

问题描述 投票:1回答:1

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

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

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

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

python git github module repository
1个回答
2
投票

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

  • 如果您想在Pip上托管您的软件包,您应该去here,在那里您将看到如何上传和标记您的软件包以供使用。
  • 如果你想为一些开源库添加一些功能,你可以做的是尝试submit a Pull Request到那个库,所以每个人都可以使用它。 PR的规则是针对每个项目的,您应该向维护者询问。
  • 如果你的修改没有合并到master中,但你仍然希望在不更改import语句的情况下使用它,那么你可以派遣该repo,并在例如Github上发布你自己的修改。 在这种情况下,您可以安装这样的修改: pip install git+https://github.com/username/amazing-project.git 所以这样,你的图书馆将来自你自己的回购。

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

© www.soinside.com 2019 - 2024. All rights reserved.