【问题标题】:Use pip or dnf to install python packages in Fedora?在 Fedora 中使用 pip 或 dnf 安装 python 包?
【发布时间】:2016-02-08 15:49:11
【问题描述】:

当我在 Fedora 中安装一些 python 包时,有两种方法:

  • 使用dnf install python-package
  • 使用pip install package

我注意到即使我使用dnf update 来使我的 Fedora 是最新的, 当我使用 pip 时,它仍然会告诉我类似

的信息

pip是旧版本,请使用pip更新

我猜dnf包管理和python-pip包管理是不一样的。

那么更推荐哪一个安装python包?

【问题讨论】:

  • 请不要在 stackoverflow 上寻求建议。不同的人会有不同的看法。因此,有意见的问题在这里是题外话。
  • 接受的答案没有提到 --user 标志。更多信息可以在这里阅读:stackoverflow.com/questions/42988977/…

标签: python pip fedora yum dnf


【解决方案1】:

引用自Gentoo Wiki

请务必了解,使用 pip 安装的软件包不会被 Portage 跟踪。通过emerge 命令以外的方式安装任何软件包都是这种情况。安装 Portage 树中可用的 Python 包,然后使用 pip 安装相同的包时,可能会产生冲突。

决定哪个包管理器最适合该用例:对 Python 包使用emerge 或 pip,但不能同时使用两者。有时某些 Python 包在 Portage 树中不可用,在这些情况下,唯一的选择是使用 pip。明智并做出正确的选择!

对于现在几乎所有的包管理器来说都是如此。如果您正在使用仅存在于 pip 中的软件包或某些软件包版本,请使用它,但不要尝试dnf 安装它。这样做不仅会导致文件冲突,而且(很可能)会破坏包管理器对系统的了解,这通常会导致严重的包管理问题。

其他解决方案是在用户模式下使用pip,没有root权限,这会将相关的东西安装到您的主目录中。

同样,使用pip dnf 都可以,但不要将这两个包管理器混在一起。

【讨论】:

  • 首先谢谢,“sudo pip update”(“pip update”以root身份运行)会破坏dnf管理器吗?
  • @zhaochenyou 最有可能。
  • Orz,再次感谢,我想我不会再用pip了-_-
  • @zhaochenyou 就像我说的,如果你真的需要更新版本的库,你可以使用 pip,但是 不要以 root 身份运行它删除那个包(也可能是由 pip 引入的依赖项)来自dnf
  • @zhaochenyou 需要更多帮助吗?如果此或其他答案对您有帮助并回答了您的问题,请不要忘记接受该答案。另请参阅[“接受”答案是什么意思?][1]和[为什么投票很重要?][2]。
猜你喜欢
  • 1970-01-01
  • 2019-05-22
  • 2016-12-31
  • 1970-01-01
  • 2014-11-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-05
相关资源
最近更新 更多