web-dev-qa-db-ja.com

最小および最大バージョン範囲のパッケージをpipインストールする方法は?

最小バージョン(pip install package>=0.2)とインストールすべきでない最大バージョン(理論的API:pip install package<0.3)。

私は、活発に開発されているサードパーティのライブラリを使用しているので、お願いします。私はpip要件ファイルに常に0.5.xブランチの最新のマイナーリリースをインストールするように指定したいのですが、pipが新しいメジャーバージョン(0.6.xなど)をインストールしようとするのは望ましくありませんAPIは異なります。これは重要です。0.6.xブランチが利用可能であっても、開発者はまだ0.5.xブランチのパッチとバグ修正をリリースしているため、要件ファイルで静的package==0.5.9行を使用したくないためです。

それを行う方法はありますか?

186
CoreDumpError

できるよ:

$ pip install "package>=0.2,<0.3"

また、pipは、バージョンが0.2以上0.3未満であると仮定して、最適な一致を探します。

これは、pip requirements files にも適用されます。 PEP 44 のバージョン指定子の詳細を参照してください。

238
Hugo Tavares

以下も使用できます。

pip install package==0.5.*

より一貫性があり読みやすいです。

55
lowrin

エレガントな方法は、 PEP 44 に従って~=互換リリース演算子を使用することです。あなたの場合、これは以下になります:

package~=0.5.0

例として、次のバージョンが存在する場合、0.5.9を選択します。

  • 0.5.0
  • 0.5.9
  • 0.6.0

明確にするために、各ペアは同等です。

~= 0.5.0
>= 0.5.0, == 0.5.*

~= 0.5
>= 0.5, == 0.*
44
Moritz