Я писал несколько игр Ansible для настройки python virtualenv, а также во время разработки для обновления пакета python и перезапуска сервера. У меня проблемы с получением pip для обновления пакета. Мне все равно, как это делается, но я бы предпочел во время разработки просто добавить путь к пути python в virtualenv, а затем просто перезапустить сервер, но я пока не понял, как это сделать в Ansible.
Итак, мой вопрос заключается в том, как настроить локальное репозиторий git, который либо устанавливается в пакеты сайта virtualenv, либо настраивает Ansible для sys.path.insert местоположение репо, используя правильный virtualenv.
В настоящее время я пытался сделать:
sudo pip install ~/workspace/python-repo
Прежде чем установить пакет, я переименовал класс, который у меня есть, из Authenticator во что-то совершенно неправильное, например Authen. Класс показывает Authen во время новой установки. Затем я меняю имя класса обратно на правильное имя (Authenticator), поднимаю версию и запускаю
sudo pip install ~/workspace/python-repo --upgrade
но после проверки фактического файла в пакетах сайтов он по-прежнему показывает имя Authen, а не обновленный файл.
Как я могу сделать так, чтобы во время разработки я использовал локальный репозиторий и мгновенно получал обновленные файлы в своей среде? А также сделать этот процесс повторяемым через Ansible.
Вот что я пытаюсь сделать в Ansible. Моя первая игра - настройка среды, которую я хочу запустить только 1 раз.
- name: Install python-repo
local_action: pip name=${python_root}
virtualenv=${working_dir}/development
${python_root} — это только расположение моего проекта Python, и, конечно же, рабочий каталог — это новая установка virtualenv.
Затем каким-то образом я хочу, чтобы игра для разработки обновляла репозиторий python в virtualenv. Это то, что у меня есть до сих пор, но это тоже не работает.
- name: Update python-repo
local_action: pip name=${python_root}
virtualenv=${working_dir}/development
state=latest
- name: Restart services.
local_action: service name=${item} state=restarted
with_items: ${services}