Запуск командной строки приводит к тому, что модуль не найден в качестве пользователя postgres

Я пытаюсь запустить пакет wal-e который я установил как пользователь root с sudo python3 -m pip install wal-e[aws,azure,google,swift],

Я могу выполнить эту команду отлично как пользователь root с помощью envdir /etc/wal-e.d/env wal-e backup-fetch /var/lib/postgresql/9.6/main LATEST,

Тем не менее, когда я sudo su - postgres а потом беги envdir /etc/wal-e.d/env wal-e backup-fetch /var/lib/postgresql/9.6/main LATESTЯ получаю ошибку

Traceback (most recent call last):
  File "/usr/local/bin/wal-e", line 7, in <module>
    from wal_e.cmd import main
ImportError: No module named 'wal_e.cmd'

Я дал пользователю postgres полные права sudo с usermod -aG sudo postgres, Так же wal-e Пакет установлен в том же месте.

Когда я бегу ls -la я получил

-rwxr-xr-x 1 root root 211 Sep 20 14:24 /usr/local/bin/wal-e

Я также на Ubuntu 16.04.3

Как я могу запустить команду так же, как root пользователь?

1 ответ

Решение

Мне пришлось запустить строгий процесс установки для wal-e, чтобы пакет работал правильно.

Практически все сводилось к установке всех необходимых зависимостей на машине, с которой я работал, до установки и создания пользователя. postgres, Если пользователь был создан до того, как были установлены все зависимости, я получил ошибки разрешений.

Другие вопросы по тегам