この話題はしばらくの間私を悩ませてきました。
私の Python プロジェクトでは、 Python バージョン 2.4 から 3.1 をサポートできるようにしたいと考えていました。これを行う方法について少し考えた結果、最終的に、Python の 4 つの異なるバージョン (2.4、2.5、2.6、および 3.1) のソース コードの 4 つの個別のフォークを用意することにしました。
私はこれを悪い決断だと考えるようになりました。これは主に Python のディストリビューションの問題が原因で、1 回ではなく 4 回実行しなければならなくなりました。
問題は、どうするかです。
私のプロジェクトは科学計算の分野です。Python 2.4に依存している人がまだ多い印象を受けました。
プロジェクト全体を 2.4 用に書くだけだと誰かが提案しましたが、それは私には受け入れられません。これは、コンテキスト マネージャーを使用できなかったことを意味します。これは、私があきらめないことです。
通常の Python プロジェクトはどのように 2.4 をサポートしていますか? コンテキストマネージャーの使用を避けていますか?
また、Python 3.1 用に別のフォークを用意する以外に選択肢はありますか? 同じコードを 2.x と 3.x で実行するためのあらゆる種類のハックがあることは知っていますが、私が Python を好きな理由の 1 つは、コードが美しいからです。
ご意見をお聞かせください。