Ошибка: Проблема: конфликтующие запросы - ничего не предоставляет / usr / bin / python, необходимый для python -chardet в CentOS 8 - PullRequest
1 голос
/ 09 марта 2020

Я использую CentOS 8 и хочу загрузить библиотеку для Python2.

CentOS 8 имеет Python3 и его библиотеки установлены по умолчанию.

Я хочу загрузить python -chardet библиотека для Python2. Поэтому я попытался установить его, как показано ниже -

$ sudo yum install python -chardet

Я получил эту ошибку -

No match for argument: python-chardet
Error: Unable to find a match: python-chardet

Я искал решение, и согласно этому документу вы должны загрузить его двоичный файл RPM и установить его. https://centos.pkgs.org/7/centos-x86_64/python-chardet-2.2.1-3.el7.noarch.rpm.html

Загрузка двоичного файла -

$ wget http://mirror.centos.org/centos/7/os/x86_64/Packages/python-chardet-2.2.1-3.el7.noarch.rpm

Использование эту библиотеку rpm, которую я пытался установить python -chardet, как показано ниже -

$ sudo yum install ./python-chardet-2.2.1-3.el7.noarch.rpm

Здесь я получил такую ​​ошибку -

Error:
 Problem:  conflicting requests
  - nothing provides /usr/bin/python needed by python-chardet-2.2.1-3.el7.noarch

Python версия

$ python -V

$ Python 2.7.16

/ usr / bin / python вернул это

Python 2.7.16 (по умолчанию, ноябрь 17 2019, 00:07:27)

G CC 8.3.1 (RedHat) на linux2

Любая помощь по этому вопросу очень ценится.

1 Ответ

1 голос
/ 10 марта 2020

CentOS / RHEL 8 не имеет установленных по умолчанию Python, установленных для пользователя.

В нем установлены Python 3 для системных приложений, таких как dnf, но для использования в качестве пользователя вам нужно sudo dnf install python3.

Аналогично, Python 2 и все для него можно установить, используя соответствующий суффикс имени пакета. Для установки Python 2 и модуля вам нужно:

sudo dnf install python2 python2-chardet

Рекомендация / значение по умолчанию - команда unversioned python не должна работать, и вы должны вызвать нужную версию Python в оболочке с помощью набрав python2 вместо python.

Если по какой-либо причине вам нужна неверсированная команда python для вызова Python 2, используйте систему альтернатив:

sudo alternatives --set python /usr/bin/python2
...