Opened at 2010-05-24T08:43:26Z
Closed at 2011-01-19T04:57:33Z
#1054 closed defect (fixed)
ImportError: No module named setuptools_darcs.setuptools_darcs
| Reported by: | zooko | Owned by: | davidsarah |
|---|---|---|---|
| Priority: | major | Milestone: | 1.8.2 |
| Component: | packaging | Version: | 1.6.1 |
| Keywords: | setuptools | Cc: | |
| Launchpad Bug: |
Description (last modified by zooko)
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.
Attachments (2)
Change History (16)
comment:1 Changed at 2010-06-08T07:18:46Z by davidsarah
- Milestone changed from undecided to 1.7.0
- Resolution set to fixed
- Status changed from new to closed
comment:2 Changed at 2011-01-17T06:24:40Z by zooko
- Description modified (diff)
- Milestone changed from 1.7.0 to 1.8.2
- Resolution fixed deleted
- Status changed from closed to reopened
Changed at 2011-01-17T06:27:35Z by zooko
comment:3 Changed at 2011-01-17T06:27:53Z by zooko
- Keywords review-needed added
comment:4 Changed at 2011-01-17T06:29:26Z by zooko
This patch is needed to fix #668 (easy_install allmydata-tahoe is broken).
comment:5 Changed at 2011-01-17T07:30:08Z by davidsarah
- Owner changed from somebody to davidsarah
- Status changed from reopened to new
comment:6 Changed at 2011-01-17T07:30:27Z by davidsarah
- Status changed from new to assigned
Will review tomorrow.
comment:7 Changed at 2011-01-18T07:02:15Z by zooko
Here is an alternative which avoids the failure mode of people building broken distributions at the cost of bundling a copy of setuptools_darcs with Tahoe-LAFS.
Changed at 2011-01-18T07:02:39Z by zooko
comment:8 Changed at 2011-01-18T07:18:21Z by davidsarah
- Keywords reviewed added; review-needed removed
- Status changed from assigned to new
Looks good. I'll combine the first and third patches when pushing this to trunk.
comment:9 Changed at 2011-01-18T07:32:41Z by zooko@…
In 0fb49375c0365e0a:
comment:10 Changed at 2011-01-18T07:32:43Z by david-sarah@…
In 4cba75e000ba1b16:
(The changeset message doesn't reference this ticket)
comment:11 Changed at 2011-01-18T08:24:37Z by zooko
- Resolution set to fixed
- Status changed from new to closed
comment:12 Changed at 2011-01-18T10:19:10Z by davidsarah
- Keywords reviewed removed
- Resolution fixed deleted
- Status changed from closed to reopened
This error is still happening in this install-to-egg step:
which is a build of r4941, after the above two patches.
It appears from the line
Using /tmp/easy_install-5VhQya/zfec-1.4.15/temp/easy_install-UdokMi/setuptools_trial-0.5.10/setuptools_darcs-1.2.11.egg
that this may have something to do with setuptools_trial. But setuptools_trial is going away if #1296 is fixed, so maybe this error will too.
comment:13 Changed at 2011-01-19T04:55:49Z by zooko
The error on the Josh ubuntu-amd64 has gone away now that I uploaded a new version of setuptools_trial setuptools_trial-0.5.12, which doesn't require setuptools_darcs.
comment:14 Changed at 2011-01-19T04:57:33Z by zooko
- Resolution set to fixed
- Status changed from reopened to closed

I get this error if I try to install Tahoe-LAFS using distribute-0.6.14, like so:
…
install_dir /Library/Python/2.6/site-packages/ Processing Running setup.py -q bdist_egg --dist-dir /Users/zooko/playground/tahoe-lafs/pristine/egg-dist-tmp-ZD_wTc install_dir . Checking .pth file support in . /usr/bin/python -E -c pass Not found: tahoe-deps Not found: ../tahoe-deps Searching for setuptools-darcs>=1.1.0 Reading http://tahoe-lafs.org/source/tahoe-lafs/deps/tahoe-dep-sdists/ Reading http://tahoe-lafs.org/source/tahoe-lafs/deps/tahoe-lafs-dep-eggs/ Best match: setuptools-darcs 1.2.11 Downloading http://tahoe-lafs.org/source/tahoe-lafs/deps/tahoe-lafs-dep-eggs/setuptools_darcs-1.2.11.tar.bz2 Processing setuptools_darcs-1.2.11.tar.bz2 Running setuptools_darcs-1.2.11/setup.py -q bdist_egg --dist-dir /Users/zooko/playground/tahoe-lafs/pristine/temp/easy_install-LQp44p/setuptools_darcs-1.2.11/egg-dist-tmp-XW6U6z install_dir . Checking .pth file support in . /usr/bin/python -E -c pass Searching for darcsver>=1.2.0 Best match: darcsver 1.7.1 Processing darcsver-1.7.1.egg Using /Users/zooko/playground/tahoe-lafs/pristine/darcsver-1.7.1.egg setup.py darcsver: I'm unable to find a tag in the darcs history matching "^TAG setuptools_darcs-((\d+)(\.(\d+)(\.(\d+))?)?((a|b|c)(\d+))?(\.dev(\d+))?)$", so I'm leaving ['setuptools_darcs/_version.py' ] alone. Removing allmydata-tahoe 1.8.1-r4928 from easy-install.pth file Adding allmydata-tahoe 1.8.1-r4914 to easy-install.pth file Installing tahoe script to /usr/local/bin Installed /Library/Python/2.6/site-packages/allmydata_tahoe-1.8.1_r4914-py2.6.egg Processing dependencies for allmydata-tahoe==1.8.1-r4914 Searching for pycryptopp>=0.5.20 Reading http://pypi.python.org/simple/pycryptopp/ Reading http://allmydata.org/trac/pycryptopp Reading http://allmydata.org/source/pycryptopp Reading http://allmydata.org/source/zfec Best match: pycryptopp 0.5.28 Downloading http://pypi.python.org/packages/source/p/pycryptopp/pycryptopp-0.5.28.tar.gz#md5=829a211dd1b54eb26f9879f17f162a3e Processing pycryptopp-0.5.28.tar.gz Running pycryptopp-0.5.28/setup.py -q bdist_egg --dist-dir /tmp/easy_install-VOMDTv/pycryptopp-0.5.28/egg-dist-tmp-o7UYqM Traceback (most recent call last): File "/usr/local/bin/easy_install", line 9, in <module> load_entry_point('distribute==0.6.14', 'console_scripts', 'easy_install')() File "/Library/Python/2.6/site-packages/distribute-0.6.14-py2.6.egg/setuptools/command/easy_install.py", line 1855, in main with_ei_usage(lambda: File "/Library/Python/2.6/site-packages/distribute-0.6.14-py2.6.egg/setuptools/command/easy_install.py", line 1836, in with_ei_usage return f() File "/Library/Python/2.6/site-packages/distribute-0.6.14-py2.6.egg/setuptools/command/easy_install.py", line 1859, in <lambda> distclass=DistributionWithoutHelpCommands, **kw File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/distutils/core.py", line 152, in setup dist.run_commands() File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/distutils/dist.py", line 975, in run_commands cmd_obj.run() File "/Library/Python/2.6/site-packages/distribute-0.6.14-py2.6.egg/setuptools/command/easy_install.py", line 342, in run self.easy_install(spec, not self.no_deps) File "/Library/Python/2.6/site-packages/distribute-0.6.14-py2.6.egg/setuptools/command/easy_install.py", line 562, in easy_install return self.install_item(None, spec, tmpdir, deps, True) File "/Library/Python/2.6/site-packages/distribute-0.6.14-py2.6.egg/setuptools/command/easy_install.py", line 614, in install_item self.process_distribution(spec, dist, deps) File "/Library/Python/2.6/site-packages/distribute-0.6.14-py2.6.egg/setuptools/command/easy_install.py", line 666, in process_distribution [requirement], self.local_index, self.easy_install File "/Library/Python/2.6/site-packages/distribute-0.6.14-py2.6.egg/pkg_resources.py", line 544, in resolve dist = best[req.key] = env.best_match(req, self, installer) File "/Library/Python/2.6/site-packages/distribute-0.6.14-py2.6.egg/pkg_resources.py", line 786, in best_match return self.obtain(req, installer) # try and download/install File "/Library/Python/2.6/site-packages/distribute-0.6.14-py2.6.egg/pkg_resources.py", line 798, in obtain return installer(requirement) File "/Library/Python/2.6/site-packages/distribute-0.6.14-py2.6.egg/setuptools/command/easy_install.py", line 582, in easy_install return self.install_item(spec, dist.location, tmpdir, deps) File "/Library/Python/2.6/site-packages/distribute-0.6.14-py2.6.egg/setuptools/command/easy_install.py", line 612, in install_item dists = self.install_eggs(spec, download, tmpdir) File "/Library/Python/2.6/site-packages/distribute-0.6.14-py2.6.egg/setuptools/command/easy_install.py", line 802, in install_eggs return self.build_and_install(setup_script, setup_base) File "/Library/Python/2.6/site-packages/distribute-0.6.14-py2.6.egg/setuptools/command/easy_install.py", line 1079, in build_and_install self.run_setup(setup_script, setup_base, args) File "/Library/Python/2.6/site-packages/distribute-0.6.14-py2.6.egg/setuptools/command/easy_install.py", line 1068, in run_setup run_setup(setup_script, args) File "/Library/Python/2.6/site-packages/distribute-0.6.14-py2.6.egg/setuptools/sandbox.py", line 29, in run_setup lambda: execfile( File "/Library/Python/2.6/site-packages/distribute-0.6.14-py2.6.egg/setuptools/sandbox.py", line 70, in run return func() File "/Library/Python/2.6/site-packages/distribute-0.6.14-py2.6.egg/setuptools/sandbox.py", line 31, in <lambda> {'__file__':setup_script, '__name__':'__main__'} File "setup.py", line 322, in <module> File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/distutils/core.py", line 152, in setup dist.run_commands() File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/distutils/dist.py", line 975, in run_commands self.run_command(cmd) File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/distutils/dist.py", line 995, in run_command cmd_obj.run() File "/Library/Python/2.6/site-packages/distribute-0.6.14-py2.6.egg/setuptools/command/bdist_egg.py", line 172, in run self.run_command("egg_info") File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/distutils/cmd.py", line 333, in run_command self.distribution.run_command(command) File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/distutils/dist.py", line 995, in run_command cmd_obj.run() File "/Library/Python/2.6/site-packages/distribute-0.6.14-py2.6.egg/setuptools/command/egg_info.py", line 179, in run self.find_sources() File "/Library/Python/2.6/site-packages/distribute-0.6.14-py2.6.egg/setuptools/command/egg_info.py", line 254, in find_sources mm.run() File "/Library/Python/2.6/site-packages/distribute-0.6.14-py2.6.egg/setuptools/command/egg_info.py", line 308, in run self.add_defaults() File "/Library/Python/2.6/site-packages/distribute-0.6.14-py2.6.egg/setuptools/command/egg_info.py", line 335, in add_defaults rcfiles = list(walk_revctrl()) File "/Library/Python/2.6/site-packages/distribute-0.6.14-py2.6.egg/setuptools/command/sdist.py", line 46, in walk_revctrl for item in ep.load()(dirname): File "/Library/Python/2.6/site-packages/distribute-0.6.14-py2.6.egg/pkg_resources.py", line 1954, in load entry = __import__(self.module_name, globals(),globals(), ['__name__']) ImportError: No module named setuptools_darcs.setuptools_darcsThis is caused by a bug in Distribute: https://bitbucket.org/tarek/distribute/issue/55/revision-control-plugin-automatically-installed-as-a-build-dependency-is-not-present-when-another-build-dependency-is-being