Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to pip install a package with min and max version range?

I'm wondering if there's any way to tell pip, specifically in a requirements file, to install a package with both a minimum version (pip install package>=0.2) and a maximum version which should never be installed (theoretical api: pip install package<0.3).

I ask because I am using a third party library that's in active development. I'd like my pip requirements file to specify that it should always install the most recent minor release of the 0.5.x branch, but I don't want pip to ever try to install any newer major versions (like 0.6.x) since the API is different. This is important because even though the 0.6.x branch is available, the devs are still releasing patches and bugfixes to the 0.5.x branch, so I don't want to use a static package==0.5.9 line in my requirements file.

Is there any way to do that?

like image 695
coredumperror Avatar asked Jan 09 '12 21:01

coredumperror


People also ask

Which operator helps to install version 1.0 2 of some package?

You can use pip install --upgrade SomePackage to upgrade to a newer version, or pip install SomePackage==1.0.

Does pip install the latest version of package?

By default, pip installs the latest version, but here you pin it to a specific one.


2 Answers

You can do:

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

And pip will look for the best match, assuming the version is at least 0.2, and less than 0.3.

This also applies to pip requirements files. See the full details on version specifiers in PEP 440.

like image 163
Hugo Tavares Avatar answered Oct 15 '22 08:10

Hugo Tavares


you can also use:

pip install package==0.5.* 

which is more consistent and easy to read.

like image 40
lowrin Avatar answered Oct 15 '22 10:10

lowrin