distribute_setup.py in package + setuptools 0.7.2 = package uninstallable

Hi all, I've shipped distribute_setup.py in a number of my packages. If a user's install (be it virtualenv or otherwise) becomes "infected" with setuptools 0.7.2, my packages appear to become uninstallable, with errors like the log below. Run the following script to reproduce: 8< ------------------------------------------------ #! /bin/sh set -e set -x virtualenv --no-setuptools mypy source mypy/bin/activate curl -k https://bitbucket.org/pypa/setuptools/raw/0.7.2/ez_setup.py | python - curl -k https://raw.github.com/pypa/pip/master/contrib/get-pip.py | python - pip install pudb==2013.1 8< ------------------------------------------------ Andreas ------------------------------------------------------- $ pip install pudb==2013.1 Downloading/unpacking pudb==2013.1 Downloading pudb-2013.1.tar.gz (40kB): 40kB downloaded Running setup.py egg_info for package pudb Downloading http://pypi.python.org/packages/source/d/distribute/distribute-0.6.35.tar.gz Extracting in /tmp/tmpkaEQAq Now working in /tmp/tmpkaEQAq/distribute-0.6.35 Building a Distribute egg in /home/andreas/mypy/build/pudb Traceback (most recent call last): File "setup.py", line 45, in <module> exec(init_file.read(), d) File "<string>", line 8, in <module> File "/tmp/tmpkaEQAq/distribute-0.6.35/setuptools/__init__.py", line 2, in <module> from setuptools.extension import Extension, Library File "/tmp/tmpkaEQAq/distribute-0.6.35/setuptools/extension.py", line 5, in <module> from setuptools.dist import _get_unpatched File "/tmp/tmpkaEQAq/distribute-0.6.35/setuptools/dist.py", line 6, in <module> from setuptools.command.install import install File "/tmp/tmpkaEQAq/distribute-0.6.35/setuptools/command/__init__.py", line 8, in <module> from setuptools.command import install_scripts File "/tmp/tmpkaEQAq/distribute-0.6.35/setuptools/command/install_scripts.py", line 3, in <module> from pkg_resources import Distribution, PathMetadata, ensure_directory File "/tmp/tmpkaEQAq/distribute-0.6.35/pkg_resources.py", line 2825, in <module> add_activation_listener(lambda dist: dist.activate()) File "/tmp/tmpkaEQAq/distribute-0.6.35/pkg_resources.py", line 710, in subscribe callback(dist) File "/tmp/tmpkaEQAq/distribute-0.6.35/pkg_resources.py", line 2825, in <lambda> add_activation_listener(lambda dist: dist.activate()) File "/tmp/tmpkaEQAq/distribute-0.6.35/pkg_resources.py", line 2257, in activate self.insert_on(path) File "/tmp/tmpkaEQAq/distribute-0.6.35/pkg_resources.py", line 2358, in insert_on "with distribute. Found one at %s" % str(self.location)) ValueError: A 0.7-series setuptools cannot be installed with distribute. Found one at /home/andreas/mypy/lib/python2.7/site-packages/setuptools-0.7.2-py2.7.egg /home/andreas/mypy/build/pudb/distribute-0.6.35-py2.7.egg Traceback (most recent call last): File "<string>", line 16, in <module> File "/home/andreas/mypy/build/pudb/setup.py", line 5, in <module> use_setuptools() File "distribute_setup.py", line 152, in use_setuptools return _do_download(version, download_base, to_dir, download_delay) File "distribute_setup.py", line 132, in _do_download _build_egg(egg, tarball, to_dir) File "distribute_setup.py", line 123, in _build_egg raise IOError('Could not build the egg.') IOError: Could not build the egg. Complete output from command python setup.py egg_info: Downloading http://pypi.python.org/packages/source/d/distribute/distribute-0.6.35.tar.gz Extracting in /tmp/tmpkaEQAq Now working in /tmp/tmpkaEQAq/distribute-0.6.35 Building a Distribute egg in /home/andreas/mypy/build/pudb Traceback (most recent call last): File "setup.py", line 45, in <module> exec(init_file.read(), d) File "<string>", line 8, in <module> File "/tmp/tmpkaEQAq/distribute-0.6.35/setuptools/__init__.py", line 2, in <module> from setuptools.extension import Extension, Library File "/tmp/tmpkaEQAq/distribute-0.6.35/setuptools/extension.py", line 5, in <module> from setuptools.dist import _get_unpatched File "/tmp/tmpkaEQAq/distribute-0.6.35/setuptools/dist.py", line 6, in <module> from setuptools.command.install import install File "/tmp/tmpkaEQAq/distribute-0.6.35/setuptools/command/__init__.py", line 8, in <module> from setuptools.command import install_scripts File "/tmp/tmpkaEQAq/distribute-0.6.35/setuptools/command/install_scripts.py", line 3, in <module> from pkg_resources import Distribution, PathMetadata, ensure_directory File "/tmp/tmpkaEQAq/distribute-0.6.35/pkg_resources.py", line 2825, in <module> add_activation_listener(lambda dist: dist.activate()) File "/tmp/tmpkaEQAq/distribute-0.6.35/pkg_resources.py", line 710, in subscribe callback(dist) File "/tmp/tmpkaEQAq/distribute-0.6.35/pkg_resources.py", line 2825, in <lambda> add_activation_listener(lambda dist: dist.activate()) File "/tmp/tmpkaEQAq/distribute-0.6.35/pkg_resources.py", line 2257, in activate self.insert_on(path) File "/tmp/tmpkaEQAq/distribute-0.6.35/pkg_resources.py", line 2358, in insert_on "with distribute. Found one at %s" % str(self.location)) ValueError: A 0.7-series setuptools cannot be installed with distribute. Found one at /home/andreas/mypy/lib/python2.7/site-packages/setuptools-0.7.2-py2.7.egg /home/andreas/mypy/build/pudb/distribute-0.6.35-py2.7.egg Traceback (most recent call last): File "<string>", line 16, in <module> File "/home/andreas/mypy/build/pudb/setup.py", line 5, in <module> use_setuptools() File "distribute_setup.py", line 152, in use_setuptools return _do_download(version, download_base, to_dir, download_delay) File "distribute_setup.py", line 132, in _do_download _build_egg(egg, tarball, to_dir) File "distribute_setup.py", line 123, in _build_egg raise IOError('Could not build the egg.') IOError: Could not build the egg. ---------------------------------------- Command python setup.py egg_info failed with error code 1 in /home/andreas/mypy/build/pudb Storing complete log in /home/andreas/.pip/pip.log
participants (1)
-
Andreas Kloeckner