﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc	launchpad_bug
1054	ImportError: No module named setuptools_darcs.setuptools_darcs	zooko	davidsarah	"On the test-clean builder:
http://tahoe-lafs.org/buildbot/builders/clean/builds/2303/steps/test-desert-island/logs/stdio
{{{
Traceback (most recent call last):
  File ""setup.py"", line 370, in <module>
    **setup_args
  File ""/usr/local/lib/python2.6/distutils/core.py"", line 113, in setup
    _setup_distribution = dist = klass(attrs)
  File ""/home/buildbot/tahoe-lafs/clean/build/setuptools-0.6c15dev.egg/setuptools/dist.py"", line 260, in __init__
    self.fetch_build_eggs(attrs.pop('setup_requires'))
  File ""/home/buildbot/tahoe-lafs/clean/build/setuptools-0.6c15dev.egg/setuptools/dist.py"", line 284, in fetch_build_eggs
    parse_requirements(requires), installer=self.fetch_build_egg
  File ""/home/buildbot/tahoe-lafs/clean/build/setuptools-0.6c15dev.egg/pkg_resources.py"", line 563, in resolve
    dist = best[req.key] = env.best_match(req, self, installer)
  File ""/home/buildbot/tahoe-lafs/clean/build/setuptools-0.6c15dev.egg/pkg_resources.py"", line 799, in best_match
    return self.obtain(req, installer) # try and download/install
  File ""/home/buildbot/tahoe-lafs/clean/build/setuptools-0.6c15dev.egg/pkg_resources.py"", line 811, in obtain
    return installer(requirement)
  File ""/home/buildbot/tahoe-lafs/clean/build/setuptools-0.6c15dev.egg/setuptools/dist.py"", line 327, in fetch_build_egg
    return cmd.easy_install(req)
  File ""/home/buildbot/tahoe-lafs/clean/build/setuptools-0.6c15dev.egg/setuptools/command/easy_install.py"", line 452, in easy_install
    return self.install_item(spec, dist.location, tmpdir, deps)
  File ""/home/buildbot/tahoe-lafs/clean/build/setuptools-0.6c15dev.egg/setuptools/command/easy_install.py"", line 482, in install_item
    dists = self.install_eggs(spec, download, tmpdir)
  File ""/home/buildbot/tahoe-lafs/clean/build/setuptools-0.6c15dev.egg/setuptools/command/easy_install.py"", line 661, in install_eggs
    return self.build_and_install(setup_script, setup_base)
  File ""/home/buildbot/tahoe-lafs/clean/build/setuptools-0.6c15dev.egg/setuptools/command/easy_install.py"", line 936, in build_and_install
    self.run_setup(setup_script, setup_base, args)
  File ""/home/buildbot/tahoe-lafs/clean/build/setuptools-0.6c15dev.egg/setuptools/command/easy_install.py"", line 925, in run_setup
    run_setup(setup_script, args)
  File ""/home/buildbot/tahoe-lafs/clean/build/setuptools-0.6c15dev.egg/setuptools/sandbox.py"", line 62, in run_setup
    lambda: execfile(
  File ""/home/buildbot/tahoe-lafs/clean/build/setuptools-0.6c15dev.egg/setuptools/sandbox.py"", line 105, in run
    return func()
  File ""/home/buildbot/tahoe-lafs/clean/build/setuptools-0.6c15dev.egg/setuptools/sandbox.py"", line 64, in <lambda>
    {'__file__':setup_script, '__name__':'__main__'}
  File ""setup.py"", line 79, in <module>
    ""Topic :: Utilities"",
  File ""/usr/local/lib/python2.6/distutils/core.py"", line 113, in setup
    _setup_distribution = dist = klass(attrs)
  File ""/home/buildbot/tahoe-lafs/clean/build/setuptools-0.6c15dev.egg/setuptools/dist.py"", line 260, in __init__
    self.fetch_build_eggs(attrs.pop('setup_requires'))
  File ""/home/buildbot/tahoe-lafs/clean/build/setuptools-0.6c15dev.egg/setuptools/dist.py"", line 284, in fetch_build_eggs
    parse_requirements(requires), installer=self.fetch_build_egg
  File ""/home/buildbot/tahoe-lafs/clean/build/setuptools-0.6c15dev.egg/pkg_resources.py"", line 563, in resolve
    dist = best[req.key] = env.best_match(req, self, installer)
  File ""/home/buildbot/tahoe-lafs/clean/build/setuptools-0.6c15dev.egg/pkg_resources.py"", line 799, in best_match
    return self.obtain(req, installer) # try and download/install
  File ""/home/buildbot/tahoe-lafs/clean/build/setuptools-0.6c15dev.egg/pkg_resources.py"", line 811, in obtain
    return installer(requirement)
  File ""/home/buildbot/tahoe-lafs/clean/build/setuptools-0.6c15dev.egg/setuptools/dist.py"", line 327, in fetch_build_egg
    return cmd.easy_install(req)
  File ""/home/buildbot/tahoe-lafs/clean/build/setuptools-0.6c15dev.egg/setuptools/command/easy_install.py"", line 452, in easy_install
    return self.install_item(spec, dist.location, tmpdir, deps)
  File ""/home/buildbot/tahoe-lafs/clean/build/setuptools-0.6c15dev.egg/setuptools/command/easy_install.py"", line 482, in install_item
    dists = self.install_eggs(spec, download, tmpdir)
  File ""/home/buildbot/tahoe-lafs/clean/build/setuptools-0.6c15dev.egg/setuptools/command/easy_install.py"", line 661, in install_eggs
    return self.build_and_install(setup_script, setup_base)
  File ""/home/buildbot/tahoe-lafs/clean/build/setuptools-0.6c15dev.egg/setuptools/command/easy_install.py"", line 936, in build_and_install
    self.run_setup(setup_script, setup_base, args)
  File ""/home/buildbot/tahoe-lafs/clean/build/setuptools-0.6c15dev.egg/setuptools/command/easy_install.py"", line 925, in run_setup
    run_setup(setup_script, args)
  File ""/home/buildbot/tahoe-lafs/clean/build/setuptools-0.6c15dev.egg/setuptools/sandbox.py"", line 62, in run_setup
    lambda: execfile(
  File ""/home/buildbot/tahoe-lafs/clean/build/setuptools-0.6c15dev.egg/setuptools/sandbox.py"", line 105, in run
    return func()
  File ""/home/buildbot/tahoe-lafs/clean/build/setuptools-0.6c15dev.egg/setuptools/sandbox.py"", line 64, in <lambda>
    {'__file__':setup_script, '__name__':'__main__'}
  File ""setup.py"", line 78, in <module>
    ""Programming Language :: Python :: 2.6"",
  File ""/usr/local/lib/python2.6/distutils/core.py"", line 152, in setup
    dist.run_commands()
  File ""/usr/local/lib/python2.6/distutils/dist.py"", line 975, in run_commands
    self.run_command(cmd)
  File ""/usr/local/lib/python2.6/distutils/dist.py"", line 995, in run_command
    cmd_obj.run()
  File ""/home/buildbot/tahoe-lafs/clean/build/setuptools-0.6c15dev.egg/setuptools/command/bdist_egg.py"", line 167, in run
    self.run_command(""egg_info"")
  File ""/usr/local/lib/python2.6/distutils/cmd.py"", line 333, in run_command
    self.distribution.run_command(command)
  File ""/usr/local/lib/python2.6/distutils/dist.py"", line 995, in run_command
    cmd_obj.run()
  File ""/home/buildbot/tahoe-lafs/clean/build/setuptools-0.6c15dev.egg/setuptools/command/egg_info.py"", line 177, in run
    self.find_sources()
  File ""/home/buildbot/tahoe-lafs/clean/build/setuptools-0.6c15dev.egg/setuptools/command/egg_info.py"", line 252, in find_sources
    mm.run()
  File ""/home/buildbot/tahoe-lafs/clean/build/setuptools-0.6c15dev.egg/setuptools/command/egg_info.py"", line 306, in run
    self.add_defaults()
  File ""/home/buildbot/tahoe-lafs/clean/build/setuptools-0.6c15dev.egg/setuptools/command/egg_info.py"", line 333, in add_defaults
    rcfiles = list(walk_revctrl())
  File ""/home/buildbot/tahoe-lafs/clean/build/setuptools-0.6c15dev.egg/setuptools/command/sdist.py"", line 45, in walk_revctrl
    for item in ep.load()(dirname):
  File ""/home/buildbot/tahoe-lafs/clean/build/setuptools-0.6c15dev.egg/pkg_resources.py"", line 1954, in load
    entry = __import__(self.module_name, globals(),globals(), ['__name__'])
ImportError: No module named setuptools_darcs.setuptools_darcs
}}}

The attached patch works-around this by commenting-out the requirement to have {{{setuptools_darcs}}} at build-time. The drawback of this approach is that if someone builds a distribution, e.g. a source distribution by running {{{python setup.py sdist}}}, then they have to manually install {{{setuptools_darcs}}} first. If they don't, then the resulting distribution will be incomplete -- it will be missing all files that aren't part of the allmydata Python package-directory, such as docs and .xhtml files for the WUI."	defect	closed	major	1.8.2	packaging	1.6.1	fixed	setuptools		
