[openstack-dev] [DevStack] Python dependencies: PyPI vs distro packages

Jay Buffington me at jaybuff.com
Tue Aug 6 16:40:11 UTC 2013


On Tue, Aug 6, 2013 at 8:35 AM, Joshua Harlow <harlowja at yahoo-inc.com>wrote:

>  I think jay your usage also was before anvil started to build all the
> *missing* dependencies automatically (something u inspired me to get going
> in the first place) so hopefully said updates to rhel.yaml are only now
> needed for exceptions and not the common path :)
>

+1 I'm glad to hear that.  I don't think any of the problems I saw with
Anvil were intractable,  but I do think packaging up the venv is much
less error prone.

My major complaints are issues related to yum. First off, yum can't
resolve a version range (see my message to the yum list:
http://lists.baseurl.org/pipermail/yum/2013-February/023922.html)
which seems like a pretty basic task for a package manager.

Also, Yum seems to do dependency resolution in a single pass.  So
yum can't provide an install solution for cases like this even when a
valid one exists:

package foo depends on pkgdep <= 2.0
package bar depends on pkgdep >= 1.0, <= 2.0
pkgdep 2.1 and 2.0 are available for install

"sudo yum install foo" when none of those three packages are installed
results in an error.  Yum tries to install pkgdep 2.1 and then gives up
when it sees foo doesn't work with pkgdep 2.1 rather than doing a second
pass at building a dependency graph and finding that pkgdep 2.0
would satisfy all dependencies.

Cases like these come up regularly with the 100+ python packages
that openstack depends on (in requirements.txt) when building packages
continuously.  I came to the conclusion that yum is bad software and I
should avoid it globbing up most everything into one big rpm.  Three
months into making the switch I'm happy with that decision.

Jay
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20130806/0e43ddc6/attachment.html>


More information about the OpenStack-dev mailing list