python - 以用户 postgres 身份运行命令行导致找不到模块

标签 python postgresql ubuntu sudo wal-e

我正在尝试运行一个包 wal-e,我已经以 root 用户身份使用 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 用户一样运行命令?

最佳答案

我必须运行 strict setup process用于 wal-e 以便包装正常运行。

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

关于python - 以用户 postgres 身份运行命令行导致找不到模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46338745/

相关文章:

python - YouTube 数据 API 搜索,排除带广告的视频

postgresql - 使用 plpgsql 获取函数内部当前函数的名称

mysql - ubuntu上卸载mysql workbench后如何彻底删除模式数据

java - RXTX 在 ubuntu 中不工作

sql - 只返回符合所有条件的行

linux - 我如何在 ubuntu 中使用 CMake 宏

python - 如何在 python 中找到 numpy 矩阵的长度(或尺寸、大小)?

Python - 将 mysql 时间戳类型转换为 matplotlib 和图表

python - 如何仅使用 file1 中的索引从 file2 获取值(行)?

ruby-on-rails - 数据库唯一性约束不会阻止通过关联创建重复记录