Вы видите одно предупреждение, к которому следует относиться очень серьезно, если вы не хотите уничтожать файлы, которые были установлены с помощью пакетов yum.
Запуск установки pip с привилегиями root, как правило, не очень хорошая идея.Вместо этого попробуйте pip3 install --user
.
Я предлагаю попробовать использовать virtualenv.Использование virtualenv снижает вероятность уничтожения существующей установки и позволяет использовать разные версии пакетов для каждого virtualenv.Просто не забудьте активировать вашу virtualenv перед установкой в нее pip.
К сожалению, у Ansible есть небольшая проблема (по крайней мере, когда я ее использовал в прошлый раз): она не сможет устанавливать пакеты, если вы используетеvirtualenv, который не включает пакеты системного сайта, поэтому я не уверен на 100%, что вы добьетесь успеха.
Я постараюсь рассказать вам следующее: 1.) установить virtualenv (либо с yum, либо с pipустановить, но для того, чтобы ничего не уничтожить в существующей установке, вы должны использовать pip install с опцией --user
) 2.) создать virtualenv для python3 с включенными пакетами системного сайта, так как у вас возникнут проблемы с ansible и установкой пакетов в противном случае3.) включите ваш virtualenv (не забывайте об этом!) 4.) Убедитесь, что вы действительно включили свой virtualenv 5.) Установите pip install ansible с опцией -U
Попробуйте ansible и укажите путь к питонуисполняемый файл вашей virtualenv с настройкой ansible_python_interpreter для ansible (https://docs.ansible.com/ansible/latest/reference_appendices/interpreter_discovery.html) Cвыбор python-setuptools Вы можете попробовать использовать virtualenv, чтобы избежать конфликтов с существующими пакетами.
Вы можете попробовать что-то вроде:
sudo pip install --user virtualenv
# или установить virtualenv с помощью yum, если знаетеимя пакета.
затем
virtualenv -p $(which python3) /root/ansiblevenv --system-site-packages
теперь активируйте virutalenv
. /root/ansiblevenv/bin/activate
# не забывайте пробел между.и /
Теперь проверьте, что активный питон является одним из virtualenv
type python
, вы должны увидеть /root/ansiblevenv/bin/python
вместо, если 'usr / bin /python 'если нет virtualenv не включен должным образом
Теперь обновите пип (на всякий случай)
pip install -U pip
и попробуйте установить ansible
pip install -U ansible