运行命令行导致模块未作为用户postgres找到

2024-06-01 06:34:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我试着运行一个包wal-e,我已经用sudo python3 -m pip install wal-e[aws,azure,google,swift]作为用户根安装了这个包。你知道吗

我可以使用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用户那样运行命令?你知道吗


Tags: 用户envmainpostgresqlvarlibetcsudo
1条回答
网友
1楼 · 发布于 2024-06-01 06:34:48

我必须为wal-e运行一个strict setup process,这样包才能正常运行。你知道吗

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

相关问题 更多 >