[Distutils] Craziness in dependency checking of PyXML version
Phillip J. Eby
pje at telecommunity.com
Tue Jan 15 01:50:32 CET 2008
At 06:56 PM 1/14/2008 -0500, Stanley A. Klein wrote:
>I'm trying to fix something running under ZSI that broke because of a
>needed change in the WS-Addressing schema version.
>
>I ran into a problem that I've had before, where Python can't recognize
>that I have a proper version of PyXML installed.
>
>I get the following traceback:
>
>[stan at localhost wsdl]$ wsdl2py -help
>Traceback (most recent call last):
> File "/usr/bin/wsdl2py", line 5, in <module>
> from pkg_resources import load_entry_point
> File "/usr/lib/python2.5/site-packages/pkg_resources.py", line 2561, in
><module>
> working_set.require(__requires__)
> File "/usr/lib/python2.5/site-packages/pkg_resources.py", line 626, in
>require
> needed = self.resolve(parse_requirements(requirements))
> File "/usr/lib/python2.5/site-packages/pkg_resources.py", line 524, in
>resolve
> raise DistributionNotFound(req) # XXX put more info here
>pkg_resources.DistributionNotFound: PyXML>=0.8.3
>
>What I have installed as an rpm is PyXML-0.8.4-6.
>
>I've had this problem before with the PyXML version in another context,
>probably trying to install ZSI as an egg in my user lib directory.
>
>Is there an easy fix for this?
Yes: convince the organization that creates your RPMs not to remove
the .egg-info files that the distutils generates, specifically so
that system-installed packages can be detected programmatically,
without needing to understand every single distribution format in existence.
Or, failing that, create an empty "PyXML-0.8.4-py2.5.egg-info" file
alongside the top-level modules or packages that were installed by the RPM. :)
More information about the Distutils-SIG
mailing list