319

pip install package>=0.2特に要件ファイルで、インストールしてはならない最小バージョン()と最大バージョン(理論上のapi:)の両方を含むパッケージをインストールするようにpipに指示する方法があるかどうか疑問に思っていますpip install package<0.3

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

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

4

3 に答える 3

438

できるよ:

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

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

これは、pip要件ファイルにも当てはまります。PEP440のバージョン指定子の詳細を参照してください。

于 2012-01-10T22:25:01.187 に答える
147

次のものも使用できます。

pip install package==0.5.*

これはより一貫性があり、読みやすいです。

于 2018-01-03T09:34:28.767 に答える
131

洗練された方法は、PEP440~=に準拠した互換性のあるリリース演算子を使用することです。あなたの場合、これは次のようになります。

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.*
于 2018-04-28T19:26:11.740 に答える