运行命令行导致找不到用户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 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
用户?
答
我必须运行wal-e的strict setup process才能使软件包正常工作。
事实上,它是在安装和创建用户postgres
之前,在我正在使用的机器上安装所有必需的依赖关系。如果用户是在安装所有依赖项之前创建的,那么我有权限错误。
只是为了100%确定 - 您已经完成了所有这些步骤(我自己的安装指南,完美地在所有生产服务器上工作)? https://gist.github.com/tschwaerzl/988e618ec6c665fe1a6647ff3f9166ae – Thomas
是的,林或多或少地遵循了这些步骤。我使用天蓝色,所以有些事情是不同的。 –