问题背景

在某个容器中执行 pssh 命令时出现了以下的报错(pssh 是通过 pip install pssh 安装的):

Traceback (most recent call last):
  File "/usr/local/bin/pssh", line 26, in <module>
    from psshlib.cli import common_parser, common_defaults
  File "/usr/local/lib/python3.8/dist-packages/psshlib/cli.py", line 9, in <module>
    import version
ModuleNotFoundError: No module named 'version'

解决方案

这个报错的原因在于 import version 的本意是导入 /usr/local/lib/python3.8/dist-packages/psshlib 下的 version.py,而实际在执行的过程中默认导入第三方库 version(因为采用的是绝对导入),而这个库并没有安装。

打开 /usr/local/lib/python3.8/dist-packages/psshlib/cli.py 文件,把第9行的 import version 改成 from . import version 即可。

07-05 10:29