問題の背景
コンテナーでコマンドを実行すると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
の本来の目的は import ですが/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
。
⚠️最新バージョンの pssh をインストールすることを強くお勧めします。古いバージョンの pssh には常に予期しないバグが存在します。コマンドラインから実行して
pip install git+https://github.com/lilydjwg/pssh
最新の pssh をインストールします。