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

时间:2017-09-21 08:13:09

标签: python postgresql ubuntu sudo wal-e

我尝试以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向用户usermod -aG sudo 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用户一样运行命令?

1 个答案:

答案 0 :(得分:0)

我必须为wal-e运行{{3}}才能让软件包正常运行。

在安装和创建用户postgres之前,几乎可以解决的问题是在我正在使用的计算机上安装所有必需的依赖项。如果在安装所有依赖项之前创建了用户,则会出现权限错误。