#2216 closed defect (duplicate)

can't find module 'core.utils.dist' when installing

Reported by: aredridel Owned by: daira
Priority: normal Milestone: undecided
Component: packaging Version: 1.10.0
Keywords: setuptools error build Cc:
Launchpad Bug:

Description (last modified by zooko)

:; python setup.py build
running update_version
no version-control data found, leaving _version.py alone
running develop
Not found: ../tahoe-deps
running egg_info
writing requirements to src/allmydata_tahoe.egg-info/requires.txt
writing src/allmydata_tahoe.egg-info/PKG-INFO
writing top-level names to src/allmydata_tahoe.egg-info/top_level.txt
writing dependency_links to src/allmydata_tahoe.egg-info/dependency_links.txt
writing entry points to src/allmydata_tahoe.egg-info/entry_points.txt
writing requirements to src/allmydata_tahoe.egg-info/requires.txt
writing src/allmydata_tahoe.egg-info/PKG-INFO
writing top-level names to src/allmydata_tahoe.egg-info/top_level.txt
writing dependency_links to src/allmydata_tahoe.egg-info/dependency_links.txt
writing entry points to src/allmydata_tahoe.egg-info/entry_points.txt
Traceback (most recent call last):
  File "setup.py", line 452, in <module>
    **setup_args
  File "/usr/share/python2.7/distutils/core.py", line 152, in setup
  File "/usr/share/python2.7/distutils/dist.py", line 953, in run_commands
  File "/usr/share/python2.7/distutils/dist.py", line 972, in run_command
  File "/home/users/aredridel/allmydata-tahoe-1.10.0/setuptools-0.6c16dev4.egg/setuptools/command/develop.py", line 23, in run
    self.old_run()
  File "/home/users/aredridel/allmydata-tahoe-1.10.0/setuptools-0.6c16dev4.egg/setuptools/command/develop.py", line 33, in old_run
    self.install_for_development()
  File "/home/users/aredridel/allmydata-tahoe-1.10.0/setuptools-0.6c16dev4.egg/setuptools/command/develop.py", line 86, in install_for_development
    self.run_command('egg_info')
  File "/usr/share/python2.7/distutils/cmd.py", line 326, in run_command
  File "/usr/share/python2.7/distutils/dist.py", line 972, in run_command
  File "/home/users/aredridel/allmydata-tahoe-1.10.0/setuptools-0.6c16dev4.egg/setuptools/command/egg_info.py", line 169, in run
    writer = ep.load(installer=installer)
  File "/home/users/aredridel/allmydata-tahoe-1.10.0/setuptools-0.6c16dev4.egg/pkg_resources.py", line 1981, in load
    entry = __import__(self.module_name, globals(),globals(), ['__name__'])
ImportError: No module named core.utils.dist

Change History (11)

comment:1 Changed at 2014-04-11T04:48:15Z by zooko

  • Description modified (diff)

comment:2 Changed at 2014-04-11T04:52:01Z by zooko

Thank you for the bug report. I have to admit I'm surprised and temporarily stumped by yet *another* previously-unseen exception emitting from setuptools. Could you please execute the trunk/misc/build_helpers/show-tool-versions.py script and paste the output of it into here? Maybe that'll give us a clue.

comment:3 Changed at 2014-04-11T13:56:33Z by aredridel

:; python misc/build_helpers/show-tool-versions.py
platform: Linux-3.10.15-1-i686-Intel-R-_Xeon-R-_CPU____________3040__@_1.86GHz-with-pld-3.0-PLD
machine:  i686
linux_distribution: ('pld', '3.0', 'PLD')

python: 2.7.6 (default, Feb 21 2014, 20:12:32)  [GCC 4.8.2 20140221 (release)]
maxunicode: 1114111

locale: LANG=en_US.UTF-8 LC_CTYPE="en_US.UTF-8" LC_NUMERIC="en_US.UTF-8" LC_TIME="en_US.UTF-8" LC_COLLATE="en_US.UTF-8" LC_MONETARY="en_US.UTF-8" LC_MESSAGES="en_US.UTF-8" LC_PAPER="en_US.UTF-8" LC_NAME="en_US.UTF-8" LC_ADDRESS="en_US.UTF-8" LC_TELEPHONE="en_US.UTF-8" LC_MEASUREMENT="en_US.UTF-8" LC_IDENTIFICATION="en_US.UTF-8" LC_ALL=
filesystem.encoding: UTF-8
locale.getpreferredencoding: UTF-8
locale.defaultlocale: ('en_US', 'UTF-8')
locale.locale: (None, None)

buildbot: no such file or directory
buildslave: no such file or directory
gcc: gcc (PLD-Linux) 4.8.2 20131104 (release)
g++: g++ (PLD-Linux) 4.8.2 20131104 (release)
cryptest: no such file or directory
git: git version 1.8.5.1
openssl: OpenSSL 1.0.1e 11 Feb 2013
darcs: 2.5.2 (release)
darcs-exact-version: darcs compiled on Sep 28 2011, at 07:55:23  Context:  [TAG 2.5.2 Ganesh Sittampalam <ganesh@earth.li>**20110313223504  Ignore-this: f3f57f3eacb2fdd4cdafc581c05058e3 ]   Compiled with:  HTTP-4000.1.2 array-0.3.0.3 base-4.4.0.0 bytestring-0.9.2.0 containers-0.4.1.0 directory-1.1.0.1 extensible-exceptions-0.1.1.3 filepath-1.2.0.1 hashed-storage-0.5.8 haskeline-0.6.4.3 html-1.0.1.2 mmap-0.5.7 mtl-2.0.1.0 network-2.3.0.5 old-time-1.0.0.7 parsec-3.1.1 process-1.1.0.0 random-1.0.1.0 regex-compat-0.93.1 tar-0.3.1.0 terminfo-0.3.2.2 text-0.11.0.6 unix-2.5.0.0 zlib-0.5.3.1
flappclient: no such file or directory
valgrind: valgrind-3.9.0
lzip: no such file or directory
as: GNU assembler (Linux/GNU Binutils) 2.24.51.0.1.20131106 Copyright 2013 Free Software Foundation, Inc. This program is free software; you may redistribute it under the terms of the GNU General Public License version 3 or later. This program has absolutely no warranty. This assembler was configured for a target of `i686-pld-linux'.
setuptools: [distribute 0.6.36 (/usr/share/python2.7/site-packages)]

coverage: DistributionNotFound

trialcoverage: DistributionNotFound

pyflakes: DistributionNotFound

zope.interface: [zope.interface 4.0.3 (/usr/lib/python2.7/site-packages), distribute 0.6.36 (/usr/share/python2.7/site-packages)]
zope.interface module: <module 'zope.interface' from '/usr/lib/python2.7/site-packages/zope/interface/__init__.pyc'>

setuptools_darcs: DistributionNotFound

darcsver: DistributionNotFound

Twisted: DistributionNotFound
Twisted module: <module 'twisted' from '/usr/lib/python2.7/site-packages/twisted/__init__.pyc'>
Twisted __version__: 13.0.0

TwistedCore: DistributionNotFound
TwistedCore module: <module 'twisted.python' from '/usr/lib/python2.7/site-packages/twisted/python/__init__.pyc'>

TwistedWeb: DistributionNotFound
TwistedWeb module: <module 'twisted.web' from '/usr/lib/python2.7/site-packages/twisted/web/__init__.pyc'>
TwistedWeb __version__: 13.0.0

TwistedConch: DistributionNotFound

pycryptopp: DistributionNotFound

comment:4 Changed at 2014-04-11T14:40:00Z by daira

  • Component changed from unknown to packaging
  • Keywords setuptools error build added

Setuptools delenda est. In this case it annoyingly hasn't told us which specific package it was trying to build when it hit the error.

comment:5 Changed at 2014-04-11T14:45:57Z by aredridel

Good times!

comment:6 Changed at 2014-04-11T15:53:24Z by zooko

Aha. Here is a complaint about a similar-looking stack trace: https://forums.gentoo.org/viewtopic-t-746228.html . In that fix/workaround, the problem seems to be coming from a package named "elisa".

And here is a ticket that *we* opened and closed several years ago in which elisa was causing a *different* problem that also involved "core.utils.dist": https://bugs.launchpad.net/ubuntu/+source/elisa/+bug/263697

So, aredridel: could you inspect whether you have a package named "elisa" installed on your system, and if you don't need it could you uninstall it and see if that changes the behavior? Also we should open a bug report about this for the maintainers of elisa and/or your operating system, if that turns out to be the problem.

(And yes, it is really discouraging that in the current Python language and Python packaging tools, we cannot exclude the possibility that some random other package completely unrelated to ours is breaking our code in ways we cannot possibly hope to understand or prevent.)

Last edited at 2014-04-11T15:54:07Z by zooko (previous) (diff)

comment:7 Changed at 2014-04-11T20:28:43Z by aredridel

Holy crap, that's actually it.

I had the plugins packages (only) for Elisa, a media player from Fluendo I tried for a while.

comment:8 Changed at 2014-04-11T20:29:07Z by aredridel

I'd ... love to find a way for Tahoe-LAFS to not be bit by that. That's incredibly awful.

comment:9 Changed at 2014-04-11T20:48:59Z by zooko

Sigh. Well, thanks a lot for helping us diagnose it! Next steps:

  1. Open a ticket with the maintainers of Elisa (be sure to reference the earlier bug that was already fixed!).
  1. Open a ticket with your distribution (PLD) that packages Elisa for you (ditto!).
  1. Open a ticket with the mysterious gods of Python packaging (hi there dstufft!) asking for them to make it impossible, or at least harder, for independently-maintained packages to do this to each other.

comment:10 Changed at 2014-04-11T20:53:04Z by aredridel

Will do. I'm a PLD committer, so ... I may have to dig into that one with the help of #3.

comment:11 Changed at 2014-04-11T21:01:46Z by zooko

  • Resolution set to duplicate
  • Status changed from new to closed

dup of #805

Thanks, aredridel!

Note: See TracTickets for help on using tickets.