Mercurial を Python 3 に移行すると、予期せぬエラーが発生する可能性があります。

バージョン管理システムのメンテナ 活発 私をがっかりさせる 結果 プロジェクトを Python 2 から Python 3 に移行する作業が行われています。最初の移植の試みは 2008 年に遡り、Python 3 を使用するための適応の加速は 2015 年に始まったという事実にもかかわらず、Python 3 を使用する完全な機能は最新のバージョンでのみ実装されました。 Mercurial 5.2 のブランチ。

Python 3 への移植の安定性に関する予測は残念です。 特に、テストはコード ベースの 100% をカバーするわけではなく、多くの問題は静的分析中には見えず、実行時にのみ現れるため、数年間にわたってコード内にランダムなエラーが現れることが予想されます。 さらに、多くのサードパーティのアドオンや拡張機能は Python 3 に翻訳されていないままです。
移植中に、Python 3 のサポートを維持しながら、コードを Python 2 に段階的に適合させることが決定されたため、コードには Python 2 と 3 を組み合わせるための多くのハックが追加されており、Python 2 のサポート終了後にクリーンアップする必要があります。

Python 3 の状況についてコメントし、Mercurial のメンテナは、開発者にとって画期的な改善がない中で、相互運用性を破壊する Python 3 を推進し、より正確な新しい言語として押しつける決定は大きな間違いであったと考えています。これはコミュニティに多大な損害を与えるものであり、大規模なプロジェクトにそうする必要がないことを示す一例です。 Python 3 のリリースでは、段階的に機能を構築し、アプリケーションを段階的にカスタマイズできるようにする代わりに、開発者はコードを書き直し、Python 2 と Python 3 の別々のブランチを維持するためにリソースを費やす必要がありました。 Python 3.0 では、移行プロセスをスムーズにし、同じコード ベースで Python 3.5 と Python 2 の両方を実行できるようにする機能が導入されました。

出所: オープンネット.ru

コメントを追加します