当我在 Fedora 中安装一些 python 包时,有两种方法:
- 采用
dnf install python-package
- 采用
pip install package
我注意到即使我曾经dnf update
让我的 Fedora 是最新的,当我使用 pip 时,它仍然告诉我类似
pip 是旧版本,请使用 pip 更新
我猜 dnf 包管理与 python-pip 包管理不同。
那么更推荐哪一个来安装 python 包呢?
引自Gentoo Wiki:
重要的是要了解使用 pip 安装的软件包不会被 Portage 跟踪。这是通过emerge 命令以外的方式安装任何软件包的情况。安装 Portage 树中可用的 Python 包,然后使用 pip 安装相同的包时,可能会产生冲突。
确定哪个包管理器最适合用例:对 Python 包使用emerge 或 pip,但不能同时使用两者。有时某些 Python 包在 Portage 树中不可用,在这些情况下,唯一的选择是使用 pip。明智并做出正确的选择!
对于当今几乎所有的包管理器来说都是如此。如果您正在使用仅存在于 中的软件包或某些软件包版本pip
,请使用它,但不要尝试从dnf
. 这样做不仅会导致文件冲突,而且(很可能)会破坏包管理器对系统的了解,这通常会导致主要的包管理问题。
其他解决方案将pip
在用户模式下使用,没有 root 权限,这会将相关内容安装到您的主目录中。
再说一次,使用pip
or dnf
都可以,但不要将这两个包管理器混合在一起。