Вопрос или проблема
Я хотел бы понизить текущую версию Ansible, так как она несовместима с моей коллекцией Cisco, которую мне нужно использовать для моей сети. Я попробовал команду sudo pip install ansible==2.15.0
, но получил некоторые ошибки. Смотрите ниже:
`ошибка: внешне управляемая среда
× Эта среда управляется внешне
╰─> Чтобы установить пакеты Python на системном уровне, попробуйте apt install
python3-xyz, где xyz — это пакет, который вы пытаетесь
установить.
Если вы хотите установить пакет Python, не входящий в комплект Debian,
создайте виртуальную среду, используя python3 -m venv путь/к/venv.
Затем используйте путь/к/venv/bin/python и путь/к/venv/bin/pip.
Убедитесь, что у вас установлен python3-full.
Если вы хотите установить приложение Python, не входящее в комплект Debian,
может быть проще всего использовать pipx install xyz, который будет управлять
виртуальной средой для вас. Убедитесь, что у вас установлен pipx.`
Я не являюсь гуру Linux или Ansible, это всего лишь моя первая неделя в этом, и я пытаюсь настроить свою лабораторию.
Я использую WSL для Linux.
Спасибо
В основном, это говорит о том, что вы пытаетесь установить пакет в глобальную среду Python. Которая используется другими сервисами, программами и т.д. (не уверен, как это работает в случае WSL для Linux). И установка дополнительных зависимостей может нарушить глобальную установку Python.
Существует несколько способов решить эту проблему, и это было отвечено здесь
В большинстве случаев лучше всего создавать изолированную среду Python и устанавливать необходимые пакеты для конкретного проекта, над которым вы работаете.
Ответ или решение
Чтобы снизить версию Ansible до необходимой, вам необходимо создать изолированное окружение Python. Это позволит избежать конфликтов с системными пакетами и зависимостями, особенно в случае работы с Windows Subsystem for Linux (WSL). Следуйте нижеописанным шагам для безопасного и эффективного перехода на требуемую версию Ansible.
Шаг 1: Установка необходимых инструментов
-
Установите пакет
python3-full
: Во-первых, убедитесь, что у вас установлены все необходимые инструменты для работы с виртуальными окружениями. Выполните следующую команду в терминале:sudo apt install python3-full
-
Установите
pipx
: Это инструмент, который позволяет легко установить и управлять виртуальными средами для Python-приложений:sudo apt install pipx
или установите
virtualenv
для создания виртуальных окружений напрямую:sudo apt install python3-venv
Шаг 2: Создание виртуального окружения
-
Создайте директорию для вашего проекта: Создайте новую директорию, где вы будете хранить окружение и файлы проекта.
mkdir ~/my_ansible_project cd ~/my_ansible_project
-
Создайте виртуальное окружение: Используйте
venv
для создания виртуального окружения:python3 -m venv myenv
-
Активируйте виртуальное окружение: Перед установкой пакетов активируйте окружение:
source myenv/bin/activate
Шаг 3: Установка требуемой версии Ansible
-
Установите Ansible указанной версии: Используйте команду
pip
для установки конкретной версии Ansible в изолированное окружение:pip install ansible==2.15.0
-
Проверьте установленную версию: Убедитесь в правильности установки:
ansible --version
Шаг 4: Завершение и выход из окружения
-
Установите необходимые зависимости: Любые дополнительные пакеты также должны устанавливаться внутри виртуального окружения.
-
Деактивируйте виртуальное окружение: Когда закончите работу, просто деактивируйте окружение:
deactivate
Заключение
Использование изолированного окружения для управления пакетами Python, такими как Ansible, — это лучший способ избежать конфликтов и сохранить систему в безопасности. Этот метод не только защищает системные файлы от сбоев, но и облегчает управление различными проектами с разными зависимостями. Следуя вышеприведенным шагам, вы сможете эффективно настроить свое окружение для работы с любой нужной версией Ansible.
Надеюсь, это подробное руководство поможет вам эффективно управлять версиями Ansible и настроить ваш лабораторный стенд!