[Distutils] Weird easy_install behavior when reinstalling
Ian Bicking
ianb at colorstudy.com
Tue Sep 2 22:47:47 CEST 2008
I'm getting some weird behavior for a particular package, installed from
svn. To reproduce:
virtualenv test-env
./test-env/bin/easy_install http://trac-hacks.org/svn/includemacro/0.11
a bunch of stuff is installed... then run:
./test-env/bin/easy_install http://trac-hacks.org/svn/includemacro/0.11
probably the first time you reinstall (and if not then, try a couple
times) you get an exception like:
> $ ./T2/bin/easy_install http://trac-hacks.org/svn/includemacro/0.11
> Downloading http://trac-hacks.org/svn/includemacro/0.11
> Doing subversion checkout from http://trac-hacks.org/svn/includemacro/0.11 to /tmp/easy_install-SiGKUf/0.11
> Processing 0.11
> Running setup.py -q bdist_egg --dist-dir /tmp/easy_install-SiGKUf/0.11/egg-dist-tmp-5rw1jx
> zip_safe flag not set; analyzing archive contents...
> TracIncludeMacro 2.1 is already the active version in easy-install.pth
>
> Installed /home/ianb/src/PoachEggs/T2/lib/python2.4/site-packages/TracIncludeMacro-2.1-py2.4.egg
> Processing dependencies for TracIncludeMacro==2.1
> Traceback (most recent call last):
> File "./T2/bin/easy_install", line 7, in ?
> sys.exit(
> File "/home/ianb/src/PoachEggs/T2/lib/python2.4/site-packages/setuptools-0.6c8-py2.4.egg/setuptools/command/easy_install.py", line 1671, in main
> with_ei_usage(lambda:
> File "/home/ianb/src/PoachEggs/T2/lib/python2.4/site-packages/setuptools-0.6c8-py2.4.egg/setuptools/command/easy_install.py", line 1659, in with_ei_usage
> return f()
> File "/home/ianb/src/PoachEggs/T2/lib/python2.4/site-packages/setuptools-0.6c8-py2.4.egg/setuptools/command/easy_install.py", line 1675, in <lambda>
> distclass=DistributionWithoutHelpCommands, **kw
> File "/usr/lib/python2.4/distutils/core.py", line 149, in setup
> dist.run_commands()
> File "/usr/lib/python2.4/distutils/dist.py", line 946, in run_commands
> self.run_command(cmd)
> File "/usr/lib/python2.4/distutils/dist.py", line 966, in run_command
> cmd_obj.run()
> File "/home/ianb/src/PoachEggs/T2/lib/python2.4/site-packages/setuptools-0.6c8-py2.4.egg/setuptools/command/easy_install.py", line 211, in run
> self.easy_install(spec, not self.no_deps)
> File "/home/ianb/src/PoachEggs/T2/lib/python2.4/site-packages/setuptools-0.6c8-py2.4.egg/setuptools/command/easy_install.py", line 422, in easy_install
> return self.install_item(None, download, tmpdir, deps, True)
> File "/home/ianb/src/PoachEggs/T2/lib/python2.4/site-packages/setuptools-0.6c8-py2.4.egg/setuptools/command/easy_install.py", line 478, in install_item
> self.process_distribution(spec, dist, deps)
> File "/home/ianb/src/PoachEggs/T2/lib/python2.4/site-packages/setuptools-0.6c8-py2.4.egg/setuptools/command/easy_install.py", line 518, in process_distribution
> distros = WorkingSet([]).resolve(
> File "/home/ianb/src/PoachEggs/T2/lib/python2.4/site-packages/setuptools-0.6c8-py2.4.egg/pkg_resources.py", line 529, in resolve
> requirements.extend(dist.requires(req.extras)[::-1])
> File "/home/ianb/src/PoachEggs/T2/lib/python2.4/site-packages/setuptools-0.6c8-py2.4.egg/pkg_resources.py", line 2107, in requires
> dm = self._dep_map
> File "/home/ianb/src/PoachEggs/T2/lib/python2.4/site-packages/setuptools-0.6c8-py2.4.egg/pkg_resources.py", line 2099, in _dep_map
> for extra,reqs in split_sections(self._get_metadata(name)):
> File "/home/ianb/src/PoachEggs/T2/lib/python2.4/site-packages/setuptools-0.6c8-py2.4.egg/pkg_resources.py", line 2518, in split_sections
> for line in yield_lines(s):
> File "/home/ianb/src/PoachEggs/T2/lib/python2.4/site-packages/setuptools-0.6c8-py2.4.egg/pkg_resources.py", line 1813, in yield_lines
> for ss in strs:
> File "/home/ianb/src/PoachEggs/T2/lib/python2.4/site-packages/setuptools-0.6c8-py2.4.egg/pkg_resources.py", line 2121, in _get_metadata
> for line in self.get_metadata_lines(name):
> File "/home/ianb/src/PoachEggs/T2/lib/python2.4/site-packages/setuptools-0.6c8-py2.4.egg/pkg_resources.py", line 1140, in get_metadata_lines
> return yield_lines(self.get_metadata(name))
> File "/home/ianb/src/PoachEggs/T2/lib/python2.4/site-packages/setuptools-0.6c8-py2.4.egg/pkg_resources.py", line 1137, in get_metadata
> return self._get(self._fn(self.egg_info,name))
> File "/home/ianb/src/PoachEggs/T2/lib/python2.4/site-packages/setuptools-0.6c8-py2.4.egg/pkg_resources.py", line 1195, in _get
> return self.loader.get_data(path)
> zipimport.ZipImportError: bad local file header in /home/ianb/src/PoachEggs/T2/lib/python2.4/site-packages/TracIncludeMacro-2.1-py2.4.egg
I assume this is while it is trying to read
TracIncludeMacro-xxx.egg/EGG-INFO/requires.txt. I've tried opening that
egg with zipfile, and it works fine. This problem seems somewhat
specific to TracIncludeMacro, though I can't figure out why.
--
Ian Bicking : ianb at colorstudy.com : http://blog.ianbicking.org
More information about the Distutils-SIG
mailing list