Запуск командной строки приводит к тому, что модуль не найден в качестве пользователя 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
, Если пользователь был создан до того, как были установлены все зависимости, я получил ошибки разрешений.