2017-12-23 10 views
0

私たちは私たちが様々なバージョンがインストールされるようにthis syntaxを使用するかどうかを検討しているパッケージの正確なバージョンがrequirements.txtに異なるバージョンを許可しますか?

を指定されているrequirements.txtファイルを持っているPythonプロジェクトに取り組んでいます。これはお勧めですか?あるいは、各パッケージの特定のバージョンを使用し続ける方が安全ですか?マイナーバージョンとパッチバージョンを切り替えるときに、PyPIパッケージのAPIが同じままであるとは信じられますか?

セットアップ:

  • のPython 3.5
  • 我々は
  • パッケージをビルドするためにpyInstallerのを使用するには、トラヴィスCIは助けをリモートで

グレイトフルを使用しました!

+0

これは完全にこれらのパッケージに依存しています。 Pythonの科学的なスタック(numpy、scipy、pandas、matplotlib、sklearn)はかなり成熟しています(廃止の警告、その後の削除/変更)。 – sascha

答えて

1

深刻なバージョニングを行うために依存パッケージが十分に成熟している場合は、おそらくsemantic versioningという方法に従います。

したがって、この場合には、あなたが使用するようにパッケージをロックするために、あなたが上記の言及の構文を使用することができます3つのバージョン番号が

MAJOR version when they make incompatible API changes, 
MINOR version when they add functionality in a backwards-compatible manner, and 
MAINTENANCE version when they make backwards-compatible bug fixes. 

があり、このアプローチを使用して上記のリンクから引用つまり、あなたのパッケージの最後、非破壊可能なAPIバージョン、:

foo>5, <5.7 

(あなたは5.7で互換性に影響する変更があったこと、またはがあることを知っているので5.8の新機能は不要です。

関連する問題