A general question about how pip install
works.
It shouldn’t be too important, but to give some context, the question relates to some work I’m involved with at arms-length to add support to Bazel for thirdparty Python dependencies. See: Fetch pip packages incrementally · Issue #395 · bazelbuild/rules_python · GitHub
Question:
Given a requirements.txt with the contents:
package-a==0.0.1
package-b==0.0.1
Is there a difference in the behaviour of pip for the following commands:
pip install -r requirements.txt
pip install package-a==0.0.1 package-b==0.0.1
pip install package-a==0.0.1 && pip install package-b==0.0.1
My understanding is that 1 and 2 are equivalent?
1, 2 and 3 will only be equivalent if the requirements.txt contains the full transitive closure of dependencies? If package-a
and package-b
both depend on some unlisted package-c
, then the packages that may be installed may differ for 3.