运行 命令行导致找不到用户 postgres 的模块

Running command line results in module not found as user postgres

我正在尝试 运行 一个软件包 wal-e,我已使用 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'

我用 usermod -aG sudo postgres 给了用户 postgres 完全的 sudo 权限。 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 用户一样 运行 命令?

我必须 运行 一个 strict setup process for wal-e 才能使包正常运行。

实际上,它归结为在安装和创建用户 postgres 之前,在我使用的机器上安装所有必要的依赖项。如果在安装所有依赖项之前创建用户,我会遇到权限错误。