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

问题描述:

我试图运行一个包wal-e,我已经以root用户身份安装了sudo python3 -m pip install wal-e[aws,azure,google,swift]运行命令行导致找不到用户postgres的模块

我可以使用envdir /etc/wal-e.d/env wal-e backup-fetch /var/lib/postgresql/9.6/main LATEST作为用户root完美运行此命令。

然而,当我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须藤权限与usermod -aG sudo postgreswal-e包也安装在相同的位置。

当我运行ls -la我得到

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

林也是在Ubuntu 16.04.3

我怎样才能运行该命令就像root用户?

+0

只是为了100%确定 - 您已经完成了所有这些步骤(我自己的安装指南,完美地在所有生产服务器上工作)? https://gist.github.com/tschwaerzl/988e618ec6c665fe1a6647ff3f9166ae – Thomas

+0

是的,林或多或少地遵循了这些步骤。我使用天蓝色,所以有些事情是不同的。 –

我必须运行wal-e的strict setup process才能使软件包正常工作。

事实上,它是在安装和创建用户postgres之前,在我正在使用的机器上安装所有必需的依赖关系。如果用户是在安装所有依赖项之前创建的,那么我有权限错误。