sshfs
リモートホストがローカルロケール(LC_ALL)をサポートしていない場合、マウントに失敗します。グーグル検索は、bashでこの問題を処理する方法についてwww.knoppixforum.deを私に指摘しました。
しかし、私はから呼び出す必要がありsshfs
ますpython
。(失敗した)コマンドは次のようになります。
import subprocess
subprocess.check_call(['sshfs', 'HOST:~/SRC', '~/DST'])
別の検索で、「Pythonでロケールエンコーディングを設定する」という指摘がありました。そして、私はそれが次のようになるはずだと思いました:
import os, subprocess
env = os.environ.copy()
env['LC_ALL'] = 'en_US.UTF-8'
subprocess.check_call(['sshfs', 'HOST:~/SRC', '~/DST'], env = env)
しかし、それも機能しません。sshfsが環境変数に適合しないsshの新しいプロセスをフォークするため、失敗すると思いますか?
エラーメッセージは常に次のとおりです。remote host has disconnected