为什么两台机器上的ICU输出会有所不同?

时间:2016-09-15 15:14:07

标签: python internationalization icu pyicu

我正在为Flask开发i18n库ICU(和PyICU)的接口。在我的测试套件中,我有一个测试,检查不同语言环境设置的输出。我遇到的问题是我的测试通过本地测试,而在他们也运行的TravisCI实例上,它们会失败。

原因? ICU的输出在两台机器上明显不同。在一个测试中,我使用意大利语语言环境dateformat检查在Python it_IT上执行dateformat的结果。本地结果是2010年12月12日,15:46:00'但是在TravisCI实例中,它的改变方式对我来说没有意义。见这里:

如您所见,生成的字符串类似,但添加了/ s。我不确定为什么会发生这种情况。任何想法?

更新10/28/2016

经过一系列测试以尝试重现travis实例上发生的不同日期格式输出后,我无法重现此问题。我尝试了以下方法:

  1. 通过在before_install脚本中添加以下内容,在travis实例上显式设置区域设置:

    sudo locale-gen" en_US.UTF-8"
    sudo update-locale
    sudo dpkg-reconfigure locales

  2. 我创建了一个ec2实例,Travis Trusty Tahr机器应该基于(see here),我尝试安装所需的一切并运行我的测试。 没有错误!

  3. 我尝试将我的开发机器语言环境设置为travis实例上设置的语言环境。再次,没有错误!

  4. 我尝试了一个不同的语言环境,只是为了看看它是否与该特定语言环境有关,但又有另一种异常现象:

  5. 因此,此时似乎除语言环境设置之外的其他内容导致输出错误。

0 个答案:

没有答案