Используйте pip или dnf для установки пакетов python в Fedora?

Когда я устанавливаю некоторые пакеты Python в Fedora, есть два способа:

  • использование dnf install python-package
  • использование pip install package

Я замечаю, даже я использую dnf update чтобы сделать мою Fedora новейшей, когда я использую pip, она все равно говорит мне что-то вроде

pip старая версия, пожалуйста, используйте обновление pip

Я предполагаю, что управление пакетами dnf отличается от управления пакетами python-pip.

Итак, какой из них больше рекомендуется для установки пакетов Python?

1 ответ

Решение

Цитируется из Gentoo Wiki:

Важно понимать, что пакеты, установленные с помощью pip, не будут отслеживаться Portage. Это случай установки любого пакета с помощью средств, отличных от команды emerge. Возможные конфликты могут быть созданы при установке пакета Python, который доступен в дереве Portage, а затем при установке того же пакета с помощью pip.

Решите, какой менеджер пакетов будет работать лучше всего для варианта использования: либо используйте emerge, либо pip для пакетов Python, но не оба. Иногда определенные пакеты Python не будут доступны в дереве Portage, в этих случаях единственным вариантом является использование pip. Будьте мудры и сделайте правильный выбор!

Это верно практически для любых современных менеджеров пакетов. Если вы используете пакеты или определенные версии пакетов, которые существуют только в pip, используйте его, но не пытайтесь установить это с dnf, Это не только вызовет конфликты файлов, но также (наиболее вероятно) нарушит знания менеджера пакетов о системе, что обычно приводит к серьезным проблемам управления пакетами.

Другое решение будет использовать pip в пользовательском режиме, без прав root, что позволит установить соответствующие вещи в ваш домашний каталог.

Итак, еще раз, это нормально использовать pip или же dnf, но только не смешивайте эти два менеджера пакетов.

Другие вопросы по тегам