[openstack-dev] [Stable Release] Pip Requires
Pádraig Brady
P at draigBrady.com
Wed Oct 31 13:32:29 UTC 2012
On 10/31/2012 01:03 PM, Kiall Mac Innes wrote:
> On Wed, Oct 31, 2012 at 12:57 PM, Pádraig Brady <P at draigbrady.com <mailto:P at draigbrady.com>> wrote:
>
> [...SNIP...]
>
> One of the action items from there is:
>
> * freeze 'sane' version (max major version?) range at release time
>
> So by recording the max version in the pip-requires,
> it would mean that newer versions wouldn't be pulled
> in, in the future, that might break stuff.
> Also distros etc. should not be impacted since packages
> manage dependencies independently.
>
>
> This is not necessarily true, for example:
>
> $ cat /usr/lib/python2.7/dist-packages/python_novaclient-2.9.0.17.g05bbe0f.egg-info/requires.txt
> httplib2
> iso8601>=0.1.4
> prettytable>=0.6,<0.7
> simplejson
>
> $ dpkg -S /usr/lib/python2.7/dist-packages/python_novaclient-2.9.0.17.g05bbe0f.egg-info/requires.txt
> python-novaclient: /usr/lib/python2.7/dist-packages/python_novaclient-2.9.0.17.g05bbe0f.egg-info/requires.txt
>
> Any *other* python package that both depends on novaclient and uses entry points to load code via `pkg_resources` will validate those requirements.
>
> I was bitten by this with keystone yesterday, as mentioned in my previous mail on this thread.
That's a packaging issue I think, and ideally should be handled there.
Python managed dependencies are usually redundant and problematic
in a distro packaging context (unless they're explicitly managed
to cater for parallel installed versions). For example today I
removed a python managed dependency from the python-websockify
rpm package which was causing issues:
http://pkgs.fedoraproject.org/cgit/python-websockify.git/commit/?id=75108db54
cheers,
Pádraig.
More information about the OpenStack-dev
mailing list