2016-08-03 54 views
-1

有没有任何技术指标可以更好地在PyPI上引用PyPI上的原始源代码(requirements.txt)?应该放在pypi或github回购中的requirements.txt依赖关系定位包?

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

另一件事是必要的目标计算机上安装的git。

还有其他迹象吗?

+0

如果是从释放标签安装,然后要么只是一个分配机制,并不要紧。如果你正在从一个任意版本进行安装,那么GitHub有这个版本,PyPI可能不会。 –

+0

如果你想要稳定的版本,你必须更改分支或标签,但是当涉及到pypi或pip时,它主要是稳定版本。和easy_install安装更新的版本 – sathish

回答

1

PyPI是发布包发布版本的公认的实际位置,也可能并非所有Python打包工具都支持从GitHub进行安装。

而且正如你已经注意到的,对于支持GitHub的pip,你必须安装git;这限制了文件的可移植性。

其次,并不是所有的项目维护者记得在GitHub上标记的版本;分发给PyPI的内容可能很难在GitHub上找到。该标签也可能是错误。您最终可能会从PyPI安装一个细微差异的版本,当您遇到支持问题时会造成混淆。另一方面,如果你必须安装一个非发布的开发版本(比如说,你需要一个关键的bug修复版本,但是从那以后没有发布版本),那么GitHub可能是唯一可以获得该版本的地方。

因此,简而言之,你应该更喜欢使用PyPI将超过GitHub的,因为这可以确保你有一个正式发布,并且更便于携带。如果没有其他特定版本的源,请仅在requirements.txt中使用GitHub URL。