我有一个小python框架,用于配置我们的"虚拟"测试系统。那些测试系统正在运行一些基于RH的Linux;在每个系统上,都有一个特定的JVM在运行。
现在我有这个奇怪的问题:
如果运行我的框架的系统......是某种Linux(Ubuntu或RedHat)......一切正常。
但现在我得到了我的第一个" Mac用户"使用我的框架。当他在Mac上本地运行我的框架时,他会获得远程调用jython的错误输出:
b'Traceback (most recent call last):'
b' File "xxxjython", line 19, in <module>'
b' xxxjython.main()'
b' File "xxxjython.py", line 296, in main'
b" locale.setlocale(locale.LC_ALL, '') # Read env var to initialize locale info"
b' File "/usr/lib/python2.6/locale.py", line 513, in setlocale'
b' return _setlocale(category, locale)'
b'locale.Error: unsupported locale setting'
我们可以通过在此处运行来解决/解决问题
echo 'export LC_ALL=en_US.UTF-8' >>/etc/bashrc
首先在远程系统上。但我仍然感到困惑 - 为什么我需要在远程系统上进行此导出;如果唯一的区别(与#34;工作&#34;设置相比)是系统的操作系统,我的&#34;主框架&#34;正在运行?
答案 0 :(得分:1)
最后我发现这与“locales”如何与远程系统一起工作有关。有关详细信息,请访问here。
我的解决方案是设置
os.environ [“LC_ALL”] =“C”
在我的框架内。这会“覆盖”所有区域设置;它从python流入我的ssh调用到远程jython调用。