首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为sshfs设置env

为sshfs设置env
EN

Stack Overflow用户
提问于 2012-10-22 00:31:18
回答 1查看 665关注 0票数 1

如果远程主机不支持本地区域设置(LC_ALL),则sshfs挂载失败。Goolge search向我介绍了如何在bash上处理这个问题的www.knoppixforum.de

但我需要从pythonsshfs打电话。(失败的)命令如下所示:

代码语言:javascript
复制
import subprocess
subprocess.check_call(['sshfs', 'HOST:~/SRC', '~/DST'])

另一个搜索让我找到了'Set locale encoding in python'。所以我假设它应该是这样的:

代码语言:javascript
复制
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派生了一个新进程,而这个进程不熟悉我的env变量?

错误消息始终为:remote host has disconnected

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-10-22 21:37:47

哈哈,我自欺欺人!我的上述方法确实有效。除了'en_US.UTF-8‘在我用于测试的机器上不可用之外。在测试bash时,我之前使用了'de_DE.UTF-8‘。

在LC_ALL='C‘的情况下,一切都像预期的那样工作。因此,正确的解决方案应该是:

代码语言:javascript
复制
import os, subprocess
env = os.environ.copy()
env['LC_ALL'] = 'C'
subprocess.check_call(['sshfs', 'HOST:~/SRC', '~/DST'], env = env)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12999774

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档