apt – 用于处理Python包的Pip vs Package Manager
作者:互联网
Python包经常托管在许多发行版的存储库中.在阅读了this教程之后,特别是标题为“你真的想要这样做”的部分,我避免使用pip并且首选使用系统存储库,只需要在我需要安装不在存储库中的软件包时使用pip.
但是,因为这是一种不一致的安装方法,所以只使用pip会更好吗?对于两个地方都可用的软件包,在系统自己的存储库中使用pip有什么好处/贬低者?
我包含的链接说明
The advantage of always using standard Debian / NeuroDebian packages, is that the packages are carefully tested to be compatible with each other. The Debian packages record dependencies with other libraries so you will always get the libraries you need as part of the install.
我用拱.这是除了apt之外的其他包管理系统的情况吗?
解决方法:
使用pip在系统上安装Python模块(无论是作为系统模块还是作为用户模块),我看到的最大缺点是您的发行版的包管理系统不会知道它们.这意味着它们不会用于任何其他需要它们的软件包,以及将来可能要安装的软件包(或者可能在升级后开始使用其中一个模块);然后你将得到模块的pip和分发管理版本,这可能会导致问题(我最近遇到了yet another instance of this).所以你的问题最终成为一个全有或全无的命题:如果你只使用pip作为Python模块,那么你就不能再使用你的发行版的包管理器来处理任何想要使用Python模块的东西……
您链接到的页面中给出的一般建议非常好:尝试尽可能使用您的发行版软件包,仅对未打包的模块使用pip,当您这样做时,请在您的用户设置而不是系统中执行此操作-宽.尽可能使用虚拟环境,尤其是模块开发.特别是在Arch上,你不应该遇到由旧模块引起的问题;即使在可能存在问题的发行版上,虚拟环境也很容易处理它.
总是值得考虑的是,发行版的库和模块包主要是为了在发行版中使用其他包而打包的;使用它们是使用这些库和模块进行开发的一个很好的副作用,但这不是主要的用例.
标签:pacman,python,pip,apt,package-management 来源: https://codeday.me/bug/20190808/1624574.html