Flask 用の i18n ライブラリ ICU (および PyICU) へのインターフェイスに取り組んでいます。私のテスト スイートには、さまざまなロケール設定の出力をチェックするテストがあります。私が抱えている問題は、ローカルでテストが成功するのに対し、テストも実行される TravisCI インスタンスでは失敗することです。
理由?ICU からの出力は、2 つのマシンで明らかに異なります。dateformat
あるテストでは、Pythonでイタリア語のロケールを使用して dateformat を実行した結果を確認しますit_IT
。ローカルでの結果は「2010 年 4 月 12 日 15:46:00」です。しかし、TravisCI インスタンスでは、意味をなさない方法で変更されています。ここを参照してください:
ご覧のとおり、生成される文字列は似ていますが、これら/
の s が追加されています。なぜこれが起こっているのかわかりません。アイデアはありますか?
2016 年 10 月 28 日更新
travis インスタンスで発生しているさまざまな日付形式の出力を再現するために一連のテストを行った後、この問題を再現できませんでした。私は次のことを試しました:
before_install
スクリプトに以下を追加して、travis インスタンスのロケールを明示的に設定します。sudo locale-gen "en_US.UTF-8"
sudo update-locale
sudo dpkg-reconfigure ロケールTravis Trusty Tahr マシンの基になっていると思われる ec2 インスタンスをスピンアップし (こちらを参照)、必要なものをすべてインストールしてテストを実行してみました。エラーなし!
開発マシンのロケールを travis インスタンスに設定されているものに設定しようとしました。繰り返しますが、エラーはありません! .
おそらくその特定のロケールと関係があるかどうかを確認するために、別のロケールを試しましたが、別の異常が発生しました。
したがって、この時点では、ロケール設定以外の何かが間違った出力を引き起こしている可能性があります。