ホームページ >バックエンド開発 >Python チュートリアル >Python でパッケージの互換性ライブラリのバージョン間隔を確認するにはどうすればよいですか?

Python でパッケージの互換性ライブラリのバージョン間隔を確認するにはどうすればよいですか?

WBOY
WBOY転載
2024-02-08 22:21:241196ブラウズ

如何在 python 中检查我的包的兼容库版本间隔?

質問内容

プライベート Python ライブラリを開発しており、その中で他のパブリック ライブラリを使用しています。カスタム ライブラリが使用するパブリック ライブラリごとに互換性のあるバージョン間隔を定義したいと考えています。

ライブラリが適切に動作しているかどうかを確認するテストを実装しました。すべてのパブリック ライブラリのすべての組み合わせでコードをテストする方法を見つける必要があるだけです。

toxを使ってみたのですが、異なるバージョンのライブラリを使用した環境を構築するには、tox.iniファイルに各ライブラリの組み合わせを記述する必要があるようです。これを自動的に行う方法はありますか?

例: 私の開発環境には次のライブラリがあり、テストに合格しました。

  • numpy==1.24.3

  • matplotlib==3.7.3

次の組み合わせをテストできるかどうか知りたいです

  • numpy==1.24.0, 1.24.1 ... 1.24.x
  • matplotlib==3.7.1、3.7.2 ... 3.7.x

自動化された方法で。


正解


コメント欄で協力してくれた皆さんに感謝します。 @sinorocが示唆したように、noxを使用すると、非常に直感的な方法で問題が解決されました。これは一般的な習慣ではありませんが、私のような人がプロジェクトをテストする必要がある場合に備えて、質問に示された例で使用したソリューションを共有します。

noxfile.py のコードは次のとおりです。

リーリー

パラメータ化されたデコレータは、使用されるバージョンを定義します。 2 つの異なるライブラリの 2 つの異なるバージョンを使用したため、バージョンの異なる組み合わせに対して 4 (2*2) のテスト結果が得られます。

注: nox がライブラリをインストールするために python -m pip コマンドを使用していることがわかりました。したがって、テストするパブリック ライブラリ間に共通の依存関係がある場合、別のライブラリがインストールされるときに特定のバージョンのライブラリが上書きされるというカバレッジの問題が発生する可能性があります。解決策は見つかりませんが、これはバージョンテストで得られる限り正確です。

以上がPython でパッケージの互換性ライブラリのバージョン間隔を確認するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はstackoverflow.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。