New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cannot constrain a dependency without requesting it be installed #2731

Closed
rbtcollins opened this Issue Apr 27, 2015 · 1 comment

Comments

Projects
None yet
3 participants
@rbtcollins
Contributor

rbtcollins commented Apr 27, 2015

In OpenStack we have a script called devstack which installs 20 odd different services using pip. Its configurable by users to install only some. We've shied away from trying to use pip -r because with so many services, and dependencies evolving all the time, we'd be maintaining the permutations of the pip freezes for the 20 services.

If we had a way of saying 'here are our top level constraints' without triggering the install of the dependencies, such that when pip decides it needs a dependency X, the constraints get applied, that would make it possible for us to build a single unified set of constraints, and combine that with devstack installing each service (or not) as the user requested.

@rbtcollins rbtcollins changed the title from Cannot constraint a dependency without requesting it be installed to Cannot constrain a dependency without requesting it be installed Apr 28, 2015

rbtcollins pushed a commit to rbtcollins/pip that referenced this issue Jun 2, 2015

Robert Collins
Issue pypa#2731: Constraints files.
This adds constraints files. Like requirements files constraints files
control what version of a package is installed, but unlike
requirements files this doesn't itself choose to install the package.
This allows things that aren't explicitly desired to be constrained if
and only if they are installed.

rbtcollins pushed a commit to rbtcollins/pip that referenced this issue Jun 2, 2015

Robert Collins
Issue pypa#2731: Constraints files.
This adds constraints files. Like requirements files constraints files
control what version of a package is installed, but unlike
requirements files this doesn't itself choose to install the package.
This allows things that aren't explicitly desired to be constrained if
and only if they are installed.

rbtcollins pushed a commit to rbtcollins/pip that referenced this issue Jun 2, 2015

Robert Collins
Issue pypa#2731: Constraints files.
This adds constraints files. Like requirements files constraints files
control what version of a package is installed, but unlike
requirements files this doesn't itself choose to install the package.
This allows things that aren't explicitly desired to be constrained if
and only if they are installed.

rbtcollins pushed a commit to rbtcollins/pip that referenced this issue Jun 2, 2015

Robert Collins
Issue pypa#2731: Constraints files.
This adds constraints files. Like requirements files constraints files
control what version of a package is installed, but unlike
requirements files this doesn't itself choose to install the package.
This allows things that aren't explicitly desired to be constrained if
and only if they are installed.

rbtcollins pushed a commit to rbtcollins/pip that referenced this issue Jun 2, 2015

Robert Collins
Issue pypa#2731: Constraints files.
This adds constraints files. Like requirements files constraints files
control what version of a package is installed, but unlike
requirements files this doesn't itself choose to install the package.
This allows things that aren't explicitly desired to be constrained if
and only if they are installed.

dstufft added a commit that referenced this issue Jun 8, 2015

fungi added a commit to openstack-infra/system-config that referenced this issue Jul 10, 2015

Upgrade virtualenv to 13.1.0
Upgrade the preinstalled version of virtualenv on job workers from
13.0.3 to 13.1.0.

This updates the pip used in envs from 7.0.3 to 7.1.0 adding support
for constraints. pypa/pip#2731

It also updates setuptools in envs from 17.0 to 18.0.1 adding
support for ranges in environment markers.
https://bitbucket.org/pypa/setuptools/issue/380

These versions are already being used extensively in devstack jobs
and support for constraints and marker ranges in tox-based jobs will
quickly become necessary as the features propagate into individual
repos. The other items mentioned in the virtualenv/pip/setuptools
changelogs between these versions are minor and unlikely to cause
impact in our use cases.

Change-Id: I85e13bfcfee8780be16d87a084fdf52546fa7459

openstack-gerrit added a commit to openstack/openstack that referenced this issue Jul 10, 2015

Updated openstack/openstack
Project: openstack-infra/system-config  981ae01a8f98787233c3958ff78cee318574a1cf

Upgrade virtualenv to 13.1.0

Upgrade the preinstalled version of virtualenv on job workers from
13.0.3 to 13.1.0.

This updates the pip used in envs from 7.0.3 to 7.1.0 adding support
for constraints. pypa/pip#2731

It also updates setuptools in envs from 17.0 to 18.0.1 adding
support for ranges in environment markers.
https://bitbucket.org/pypa/setuptools/issue/380

These versions are already being used extensively in devstack jobs
and support for constraints and marker ranges in tox-based jobs will
quickly become necessary as the features propagate into individual
repos. The other items mentioned in the virtualenv/pip/setuptools
changelogs between these versions are minor and unlikely to cause
impact in our use cases.

Change-Id: I85e13bfcfee8780be16d87a084fdf52546fa7459
@dstufft

This comment has been minimized.

Show comment
Hide comment
@dstufft

dstufft Aug 2, 2015

Member

Closing this as it's now been finished.

Member

dstufft commented Aug 2, 2015

Closing this as it's now been finished.

@dstufft dstufft closed this Aug 2, 2015

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment