运行命令行会导致找不到模块作为用户发布



我试图运行一个软件包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作为用户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'

我用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用户一样运行命令?

我必须对 wal-e 运行严格的设置过程才能使包正常运行。

实际上,它归结为在安装和创建用户postgres之前在我正在使用的计算机上安装所有必要的依赖项。如果用户是在安装所有依赖项之前创建的,则会出现权限错误。

相关内容

  • 没有找到相关文章

最新更新