Команды Ansible работают, когда root, но не когда пользователь по умолчанию. Выбрасывает ошибку pyyaml pyyaml только как пользователь по умолчанию, но затем работает для root

Недавно я запустил несколько команд PIP на моем сервере, и после этого ни одна из команд Ansible не будет работать как пользователь по умолчанию. При попытке выполнить любые команды Ansible в качестве пользователя по умолчанию, я получаю следующую ошибку —

Traceback (most recent call last):
   File "/usr/bin/ansible-playbook", line 4, in <module>
    from pkg_resources import require; require('ansible==2.2.0')
  File "/usr/lib/python2.6/site-packages/pkg_resources.py", line 2659, in <module>
    parse_requirements(__requires__), Environment()
  File "/usr/lib/python2.6/site-packages/pkg_resources.py", line 546, in resolve
    raise DistributionNotFound(req)
pkg_resources.DistributionNotFound: PyYAML

Однако, если я sudo, а затем попытаться выполнить какие-либо команды ansible, кажется, работает нормально. Я думаю, что я мог бы что-то испортить с пакетами python, которые были установлены с PIP, и теперь они работают только для root.

Как заставить пользователя по умолчанию снова выполнять эти команды?

1 ответ

  1. Исправить это. Проблема была с разрешениями, когда я запустил установку pip. Выполняется
    chmod -R ugo+rX /usr/lib64/python2.6/site-packages/и
    chmod -R ugo+rX /usr/lib/python2.6/site-packages/Исправлена ошибка.