You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Given a reqs.pex file that includes a version of pip, pex-tools reqs.pex --pip should prefer the versions of packages included in the pex.
This may mean that pex has to downgrade the version of pip (and possibly setuptools, which pip depends on) to match whatever is included in the pex file.
Today, pex creates the virtualenv using the appropriate commands to include pip. Then it installs the requirements from the pex file, but any packages that already exist in the virtualenv, like pip, do not get downgraded to the version in the pex file. This feature request should reverse that.
pex-tools should report a warning about the collision between the pex file and the --pip flag (since the --pip flag is the only reason the virtualenv will have contents before installing things from the pex file). That warning should be silenced by --collisions-ok.
Now, when creating a venv using pex tools and the `--pip` option from a
PEX that includes pip or setuptools or both, those embedded versions
will be used in place of the conflicting versions installed via `--pip`
if `--collisions-ok` is also specified; otherwise the venv pex tool will
error.
Closes#2105
Given a
reqs.pex
file that includes a version ofpip
,pex-tools reqs.pex --pip
should prefer the versions of packages included in the pex.This may mean that pex has to downgrade the version of pip (and possibly setuptools, which pip depends on) to match whatever is included in the pex file.
Today, pex creates the virtualenv using the appropriate commands to include
pip
. Then it installs the requirements from the pex file, but any packages that already exist in the virtualenv, like pip, do not get downgraded to the version in the pex file. This feature request should reverse that.pex-tools should report a warning about the collision between the pex file and the
--pip
flag (since the--pip
flag is the only reason the virtualenv will have contents before installing things from the pex file). That warning should be silenced by--collisions-ok
.Background:
pants
When running
./pants export ...
, pants uses pex-toolsvenv --pip --collisions-ok
for mutable virtualenvs.https://github.com/pantsbuild/pants/blob/8fef19f9050d42c949edf781125cdebd6851fc57/src/python/pants/backend/python/goals/export.py#L239-L253
(that link has the following, which I'm including here since github doesn't include cross-repo snippets):
For StackStorm, we depend on pip+setuptools at runtime, and I want to make sure that the locked version is always used in the venv.
Slack
This request follows on a discussion in slack:
The text was updated successfully, but these errors were encountered: