应该在pypi或github repo中放入requirements.txt依赖关系定位包吗?

时间:2016-08-03 14:53:50

标签: python github pypi

是否有任何技术指标倾向于在requirements.txt的GitHub上对原始来源引用PyPI上的包?

只有我想到的是,使用GitHub(package==1.0.0 vs git://github.com/{ username }/{ reponame }.git@{ tag name }#egg={ desired egg name })冻结某个版本的软件包非常麻烦,但我不确定这是否会导致任何问题

其他的事情是必须在目标机器上安装git。

还有其他迹象吗?

1 个答案:

答案 0 :(得分:1)

PyPI是用于分发程序包的发布版本的可接受的事实位置,并且可能并非所有Python打包工具都支持从GitHub安装。

正如您已经注意到的那样,pip要支持GitHub,您必须安装git;这限制了文件的可移植性。

接下来,并非所有项目维护者都记得在GitHub中标记版本;分发给PyPI的内容可能很难在GitHub上找到。标签也可能错误。您最终可能会从PyPI安装一个略有不同的版本,当您遇到支持问题时会产生混淆。

另一方面,如果你必须安装一个未发布的开发版本(比如说,你需要一个关键的bug修复,但是之后没有发布过任何版本),那么GitHub可能是唯一可以获得该版本的版本。

因此,简而言之,您应该更喜欢在GitHub上使用PyPI,因为这可以确保您获得正式版本,并且更具可移植性。如果特定版本没有其他来源,则仅在requirements.txt中使用GitHub网址。