Bug 2278 - easy_install of hashlib on Python 2.4 breaks Mercurial
Summary: easy_install of hashlib on Python 2.4 breaks Mercurial
Status: RESOLVED FIXED
Alias: None
Product: Mercurial
Classification: Unclassified
Component: Mercurial (show other bugs)
Version: unspecified
Hardware: All All
: urgent bug
Assignee: Bugzilla
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-07-09 07:52 UTC by evdsande
Modified: 2012-05-13 04:48 UTC (History)
6 users (show)

See Also:
Python Version: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description evdsande 2010-07-09 07:52 UTC
After upgrade from 1.5.4 to 1.6 all hg commands crash with the following
messages

# hg status
*** failed to import extension hgext.keyword: <unloaded module
'get_importer'> object is not callable
** unknown exception encountered, details follow
** report bug details to http://mercurial.selenic.com/bts/
** or mercurial@selenic.com
** Python 2.4.3 (#1, Sep  3 2009, 15:37:12) [GCC 4.1.2 20080704 (Red Hat
4.1.2-46)]
** Mercurial Distributed SCM (version 1.6)
** Extensions loaded: acl, bugzilla, children, color, convert, extdiff,
fetch, graphlog, hgk, interhg, mq, notify, patchbomb, transplant, tasks
Traceback (most recent call last):
  File "/usr/local/bin/hg", line 27, in ?
    mercurial.dispatch.run()
  File
"/usr/lib/python2.4/site-packages/mercurial-1.6-py2.4-linux-i686.egg/mercurial/dispatch.py",
line 16, in run
    sys.exit(dispatch(sys.argv[1:]))
  File
"/usr/lib/python2.4/site-packages/mercurial-1.6-py2.4-linux-i686.egg/mercurial/dispatch.py",
line 34, in dispatch
    return _runcatch(u, args)
  File
"/usr/lib/python2.4/site-packages/mercurial-1.6-py2.4-linux-i686.egg/mercurial/dispatch.py",
line 54, in _runcatch
    return _dispatch(ui, args)
  File
"/usr/lib/python2.4/site-packages/mercurial-1.6-py2.4-linux-i686.egg/mercurial/dispatch.py",
line 483, in _dispatch
    cmdpats, cmdoptions)
  File
"/usr/lib/python2.4/site-packages/mercurial-1.6-py2.4-linux-i686.egg/mercurial/dispatch.py",
line 351, in runcommand
    ret = _runcommand(ui, options, cmd, d)
  File
"/usr/lib/python2.4/site-packages/mercurial-1.6-py2.4-linux-i686.egg/mercurial/extensions.py",
line 160, in wrap
    return wrapper(origfn, *args, **kwargs)
  File
"/usr/lib/python2.4/site-packages/mercurial-1.6-py2.4-linux-i686.egg/hgext/color.py",
line 213, in colorcmd
    return orig(ui_, opts, cmd, cmdfunc)
  File
"/usr/lib/python2.4/site-packages/mercurial-1.6-py2.4-linux-i686.egg/mercurial/dispatch.py",
line 534, in _runcommand
    return checkargs()
  File
"/usr/lib/python2.4/site-packages/mercurial-1.6-py2.4-linux-i686.egg/mercurial/dispatch.py",
line 488, in checkargs
    return cmdfunc()
  File
"/usr/lib/python2.4/site-packages/mercurial-1.6-py2.4-linux-i686.egg/mercurial/dispatch.py",
line 481, in <lambda>
    d = lambda: util.checksignature(func)(ui, *args, **cmdoptions)
  File
"/usr/lib/python2.4/site-packages/mercurial-1.6-py2.4-linux-i686.egg/mercurial/util.py",
line 420, in check
    return func(*args, **kwargs)
  File
"/usr/lib/python2.4/site-packages/mercurial-1.6-py2.4-linux-i686.egg/mercurial/extensions.py",
line 115, in wrap
    return util.checksignature(wrapper)(
  File
"/usr/lib/python2.4/site-packages/mercurial-1.6-py2.4-linux-i686.egg/mercurial/util.py",
line 420, in check
    return func(*args, **kwargs)
  File
"/usr/lib/python2.4/site-packages/mercurial-1.6-py2.4-linux-i686.egg/hgext/mq.py",
line 2791, in mqcommand
    return orig(ui, repo, *args, **kwargs)
  File
"/usr/lib/python2.4/site-packages/mercurial-1.6-py2.4-linux-i686.egg/mercurial/util.py",
line 420, in check
    return func(*args, **kwargs)
  File
"/usr/lib/python2.4/site-packages/mercurial-1.6-py2.4-linux-i686.egg/mercurial/commands.py",
line 3442, in status
    'ignored' in show, 'clean' in show, 'unknown' in show)
  File
"/usr/lib/python2.4/site-packages/mercurial-1.6-py2.4-linux-i686.egg/mercurial/localrepo.py",
line 1027, in status
    ctx1 = self[node1]
  File
"/usr/lib/python2.4/site-packages/mercurial-1.6-py2.4-linux-i686.egg/mercurial/localrepo.py",
line 131, in __getitem__
    return context.changectx(self, changeid)
  File "/usr/lib/python2.4/site-packages/hgext/tasks.py", line 647, in lookup
    return super(task_repo, self).lookup(key)
  File
"/usr/lib/python2.4/site-packages/mercurial-1.6-py2.4-linux-i686.egg/mercurial/localrepo.py",
line 442, in lookup
    n = self.changelog._match(key)
  File
"/usr/lib/python2.4/site-packages/mercurial-1.6-py2.4-linux-i686.egg/mercurial/util.py",
line 163, in __get__
    result = self.func(obj)
  File
"/usr/lib/python2.4/site-packages/mercurial-1.6-py2.4-linux-i686.egg/mercurial/localrepo.py",
line 112, in changelog
    c = changelog.changelog(self.sopener)
  File
"/usr/lib/python2.4/site-packages/mercurial-1.6-py2.4-linux-i686.egg/mercurial/demandimport.py",
line 75, in __getattribute__
    self._load()
  File
"/usr/lib/python2.4/site-packages/mercurial-1.6-py2.4-linux-i686.egg/mercurial/demandimport.py",
line 47, in _load
    mod = _origimport(head, globals, locals)
  File
"/usr/lib/python2.4/site-packages/mercurial-1.6-py2.4-linux-i686.egg/mercurial/changelog.py",
line 100, in ?
    class changelog(revlog.revlog):
  File
"/usr/lib/python2.4/site-packages/mercurial-1.6-py2.4-linux-i686.egg/mercurial/demandimport.py",
line 75, in __getattribute__
    self._load()
  File
"/usr/lib/python2.4/site-packages/mercurial-1.6-py2.4-linux-i686.egg/mercurial/demandimport.py",
line 47, in _load
    mod = _origimport(head, globals, locals)
  File
"/usr/lib/python2.4/site-packages/mercurial-1.6-py2.4-linux-i686.egg/mercurial/revlog.py",
line 52, in ?
    nullhash = _sha(nullid)
  File
"/usr/lib/python2.4/site-packages/mercurial-1.6-py2.4-linux-i686.egg/mercurial/util.py",
line 25, in sha1
    return _fastsha1(s)
  File
"/usr/lib/python2.4/site-packages/mercurial-1.6-py2.4-linux-i686.egg/mercurial/util.py",
line 32, in _fastsha1
    from hashlib import sha1 as _sha1
  File
"/usr/lib/python2.4/site-packages/mercurial-1.6-py2.4-linux-i686.egg/mercurial/demandimport.py",
line 85, in _demandimport
    return _origimport(name, globals, locals, fromlist)
  File "build/bdist.linux-i686/egg/hashlib.py", line 105, in ?
  File
"/usr/lib/python2.4/site-packages/mercurial-1.6-py2.4-linux-i686.egg/mercurial/demandimport.py",
line 85, in _demandimport
    return _origimport(name, globals, locals, fromlist)
  File "build/bdist.linux-i686/egg/_hashlib.py", line 7, in ?
  File "build/bdist.linux-i686/egg/_hashlib.py", line 3, in __bootstrap__
  File
"/usr/lib/python2.4/site-packages/mercurial-1.6-py2.4-linux-i686.egg/mercurial/demandimport.py",
line 85, in _demandimport
    return _origimport(name, globals, locals, fromlist)
  File
"/usr/lib/python2.4/site-packages/setuptools-0.6c11-py2.4.egg/pkg_resources.py",
line 2594, in ?
    _declare_state('object', working_set = WorkingSet())
  File
"/usr/lib/python2.4/site-packages/setuptools-0.6c11-py2.4.egg/pkg_resources.py",
line 425, in __init__
    self.add_entry(entry)
  File
"/usr/lib/python2.4/site-packages/setuptools-0.6c11-py2.4.egg/pkg_resources.py",
line 440, in add_entry
    for dist in find_distributions(entry, True):
  File
"/usr/lib/python2.4/site-packages/setuptools-0.6c11-py2.4.egg/pkg_resources.py",
line 1655, in find_distributions
    importer = get_importer(path_item)
  File
"/usr/lib/python2.4/site-packages/mercurial-1.6-py2.4-linux-i686.egg/mercurial/demandimport.py",
line 71, in __call__
    raise TypeError("%s object is not callable" % repr(self))
TypeError: <unloaded module 'get_importer'> object is not callable
Comment 1 Martin Geisler 2010-07-09 08:00 UTC
Please start by disabling all your extensions. If that solves the problem,
then enable them one by one -- start with the one that come with Mercurial,
which are tested and confirmed to work with Mercurial 1.6.

For the third-party extensions, please upgrade to their latest version. If
they still break, then please report the bug with the author of the extension.

Please reply here to reopen the issue if you find a bug in an official
extension.
Comment 2 evdsande 2010-07-09 08:23 UTC
I disabled all extensions as shown in my .hgrc file but unfortunately the problem remains as shown below. 

Regards,

Eric

# hg status
** unknown exception encountered, details follow
** report bug details to http://mercurial.selenic.com/bts/
** or mercurial@selenic.com
** Python 2.4.3 (#1, Sep  3 2009, 15:37:12) [GCC 4.1.2 20080704 (Red Hat 4.1.2-4
6)]
** Mercurial Distributed SCM (version 1.6)
** Extensions loaded:
Traceback (most recent call last):
  File "/usr/local/bin/hg", line 27, in ?
    mercurial.dispatch.run()
  File "/usr/lib/python2.4/site-packages/mercurial-1.6-py2.4-linux-i686.egg/meru
rial/dispatch.py", line 16, in run
    sys.exit(dispatch(sys.argv[1:]))
  File "/usr/lib/python2.4/site-packages/mercurial-1.6-py2.4-linux-i686.egg/merc
urial/dispatch.py", line 34, in dispatch
    return _runcatch(u, args)
  File "/usr/lib/python2.4/site-packages/mercurial-1.6-py2.4-linux-i686.egg/merc
urial/dispatch.py", line 54, in _runcatch
    return _dispatch(ui, args)
  File "/usr/lib/python2.4/site-packages/mercurial-1.6-py2.4-linux-i686.egg/merc
urial/dispatch.py", line 483, in _dispatch
    cmdpats, cmdoptions)
  File "/usr/lib/python2.4/site-packages/mercurial-1.6-py2.4-linux-i686.egg/merc
urial/dispatch.py", line 351, in runcommand
    ret = _runcommand(ui, options, cmd, d)
  File "/usr/lib/python2.4/site-packages/mercurial-1.6-py2.4-linux-i686.egg/merc
urial/dispatch.py", line 534, in _runcommand
    return checkargs()
  File "/usr/lib/python2.4/site-packages/mercurial-1.6-py2.4-linux-i686.egg/merc
urial/dispatch.py", line 488, in checkargs
    return cmdfunc()
  File "/usr/lib/python2.4/site-packages/mercurial-1.6-py2.4-linux-i686.egg/merc
urial/dispatch.py", line 481, in <lambda>
    d = lambda: util.checksignature(func)(ui, *args, **cmdoptions)
  File "/usr/lib/python2.4/site-packages/mercurial-1.6-py2.4-linux-i686.egg/merc
urial/util.py", line 420, in check
    return func(*args, **kwargs)
  File "/usr/lib/python2.4/site-packages/mercurial-1.6-py2.4-linux-i686.egg/merc
urial/commands.py", line 3442, in status
    'ignored' in show, 'clean' in show, 'unknown' in show)
  File "/usr/lib/python2.4/site-packages/mercurial-1.6-py2.4-linux-i686.egg/merc
urial/localrepo.py", line 1027, in status
    ctx1 = self[node1]
  File "/usr/lib/python2.4/site-packages/mercurial-1.6-py2.4-linux-i686.egg/merc
urial/localrepo.py", line 131, in __getitem__
    return context.changectx(self, changeid)
  File "/usr/lib/python2.4/site-packages/mercurial-1.6-py2.4-linux-i686.egg/merc
urial/context.py", line 27, in __init__
    self._node = self._repo.lookup(changeid)
  File "/usr/lib/python2.4/site-packages/mercurial-1.6-py2.4-linux-i686.egg/merc
urial/localrepo.py", line 442, in lookup
    n = self.changelog._match(key)
  File "/usr/lib/python2.4/site-packages/mercurial-1.6-py2.4-linux-i686.egg/merc
urial/util.py", line 163, in __get__
    result = self.func(obj)
  File "/usr/lib/python2.4/site-packages/mercurial-1.6-py2.4-linux-i686.egg/merc
urial/localrepo.py", line 112, in changelog
    c = changelog.changelog(self.sopener)
  File "/usr/lib/python2.4/site-packages/mercurial-1.6-py2.4-linux-i686.egg/merc
urial/demandimport.py", line 75, in __getattribute__
    self._load()
  File "/usr/lib/python2.4/site-packages/mercurial-1.6-py2.4-linux-i686.egg/merc
urial/demandimport.py", line 47, in _load
    mod = _origimport(head, globals, locals)
  File "/usr/lib/python2.4/site-packages/mercurial-1.6-py2.4-linux-i686.egg/merc
urial/changelog.py", line 100, in ?
    class changelog(revlog.revlog):
  File "/usr/lib/python2.4/site-packages/mercurial-1.6-py2.4-linux-i686.egg/merc
urial/demandimport.py", line 75, in __getattribute__
    self._load()
  File "/usr/lib/python2.4/site-packages/mercurial-1.6-py2.4-linux-i686.egg/merc
urial/demandimport.py", line 47, in _load
    mod = _origimport(head, globals, locals)
  File "/usr/lib/python2.4/site-packages/mercurial-1.6-py2.4-linux-i686.egg/merc
urial/revlog.py", line 52, in ?
    nullhash = _sha(nullid)
  File "/usr/lib/python2.4/site-packages/mercurial-1.6-py2.4-linux-i686.egg/merc
urial/util.py", line 25, in sha1
    return _fastsha1(s)
  File "/usr/lib/python2.4/site-packages/mercurial-1.6-py2.4-linux-i686.egg/merc
urial/util.py", line 32, in _fastsha1
    from hashlib import sha1 as _sha1
  File "/usr/lib/python2.4/site-packages/mercurial-1.6-py2.4-linux-i686.egg/merc
urial/demandimport.py", line 85, in _demandimport
    return _origimport(name, globals, locals, fromlist)
  File "build/bdist.linux-i686/egg/hashlib.py", line 105, in ?
  File "/usr/lib/python2.4/site-packages/mercurial-1.6-py2.4-linux-i686.egg/merc
urial/demandimport.py", line 85, in _demandimport
    return _origimport(name, globals, locals, fromlist)
  File "build/bdist.linux-i686/egg/_hashlib.py", line 7, in ?
  File "build/bdist.linux-i686/egg/_hashlib.py", line 3, in __bootstrap__
  File "/usr/lib/python2.4/site-packages/mercurial-1.6-py2.4-linux-i686.egg/merc
urial/demandimport.py", line 85, in _demandimport
    return _origimport(name, globals, locals, fromlist)
  File "/usr/lib/python2.4/site-packages/setuptools-0.6c11-py2.4.egg/pkg_resourc
es.py", line 2594, in ?
    _declare_state('object', working_set = WorkingSet())
  File "/usr/lib/python2.4/site-packages/setuptools-0.6c11-py2.4.egg/pkg_resourc
es.py", line 425, in __init__
    self.add_entry(entry)
  File "/usr/lib/python2.4/site-packages/setuptools-0.6c11-py2.4.egg/pkg_resourc
es.py", line 440, in add_entry
    for dist in find_distributions(entry, True):
  File "/usr/lib/python2.4/site-packages/setuptools-0.6c11-py2.4.egg/pkg_resourc
es.py", line 1655, in find_distributions
    importer = get_importer(path_item)
  File "/usr/lib/python2.4/site-packages/mercurial-1.6-py2.4-linux-i686.egg/merc
urial/demandimport.py", line 71, in __call__
    raise TypeError("%s object is not callable" % repr(self))
TypeError: <unloaded module 'get_importer'> object is not callable
<<<<<<

[extensions]
; List extensions in hgext/
; A leading '!' disables an extension (new in 0.9.5)
hgext.acl = !
hgext.alias = !
hgext.bugzilla = !
hgext.children = !
hgext.color = !
hgext.convert = !
hgext.extdiff = !
hgext.fetch = !
hgext.gpg = !
hgext.graphlog = !
hgext.hgk = !
hgext.imerge = !
hgext.interhg = !
hgext.keyword = !
hgext.mq = !
hgext.notify = !
hgext.parentrevspec = !
hgext.patchbomb = !
hgext.purge = !
hgext.record = !
hgext.transplant = !
hgext.win32text = !
hgext.win32mbcs = !
hgext.hgwebdir = !

; List extensions added by BI patch queue
hgext.deps = !
hgext.qct = !
hgext.hgconfig = !
hgext.tasks = ! /usr/lib/python2.4/site-packages/hgext/tasks.py
hgext.forest = ! /usr/local/lib/python2.4/site-packages/hgext/forest.py

[trusted]
users = xxxxx, xxx, xx
groups = developers
<<<<
Comment 3 Matt Mackall 2010-07-09 08:54 UTC
You've just discovered that eggs suck. Please try a normal source or binary
install.
Comment 4 evdsande 2010-07-09 09:40 UTC
I've reinstalled mercurial from source, however that does not resolve my 
problem, I still get the same results. I tried to return to the previeous 
1.5.4 release but that does not resolve my problem.
Comment 5 Matt Mackall 2010-07-09 09:46 UTC
You get the same results? With the reference to the egg paths in your
traceback? That rather strongly suggests you failed to uninstall the egg
package.
Comment 6 evdsande 2010-07-09 09:59 UTC
I removed the egg stuff from the easy_install.pth , removed the .egg 
directory and installed version 1.5.4 from source  
 
Still have the same issues

>>>>>
[root@earth cmmercurial]# hg status
** unknown exception encountered, details follow
** report bug details to http://mercurial.selenic.com/bts/
** or mercurial@selenic.com
** Python 2.4.3 (#1, Sep  3 2009, 15:37:12) [GCC 4.1.2 20080704 (Red Hat 
4.1.2-4
6)]
** Mercurial Distributed SCM (version 1.5.4)
** Extensions loaded:
Traceback (most recent call last):
  File "/usr/local/bin/hg", line 27, in ?
    mercurial.dispatch.run()
  File "/usr/lib/python2.4/site-packages/mercurial/dispatch.py", line 16, in 
run
    sys.exit(dispatch(sys.argv[1:]))
  File "/usr/lib/python2.4/site-packages/mercurial/dispatch.py", line 30, in 
dis
patch
    return _runcatch(u, args)
  File "/usr/lib/python2.4/site-packages/mercurial/dispatch.py", line 50, in 
_ru
ncatch
    return _dispatch(ui, args)
  File "/usr/lib/python2.4/site-packages/mercurial/dispatch.py", line 471, 
in _d
ispatch
    return runcommand(lui, repo, cmd, fullargs, ui, options, d)
  File "/usr/lib/python2.4/site-packages/mercurial/dispatch.py", line 341, 
in ru
ncommand
    ret = _runcommand(ui, options, cmd, d)
  File "/usr/lib/python2.4/site-packages/mercurial/dispatch.py", line 522, 
in _r
uncommand
    return checkargs()
  File "/usr/lib/python2.4/site-packages/mercurial/dispatch.py", line 476, 
in ch
eckargs
    return cmdfunc()
  File "/usr/lib/python2.4/site-packages/mercurial/dispatch.py", line 470, 
in <l
ambda>
    d = lambda: util.checksignature(func)(ui, *args, **cmdoptions)
  File "/usr/lib/python2.4/site-packages/mercurial/util.py", line 401, in 
check
    return func(*args, **kwargs)
  File "/usr/lib/python2.4/site-packages/mercurial/commands.py", line 3013, 
in s
tatus
    'ignored' in show, 'clean' in show, 'unknown' in show)
  File "/usr/lib/python2.4/site-packages/mercurial/localrepo.py", line 991, 
in s
tatus
    ctx1 = self[node1]
  File "/usr/lib/python2.4/site-packages/mercurial/localrepo.py", line 130, 
in _
_getitem__
    return context.changectx(self, changeid)
  File "/usr/lib/python2.4/site-packages/mercurial/context.py", line 27, in 
__in
it__
    self._node = self._repo.lookup(changeid)
  File "/usr/lib/python2.4/site-packages/mercurial/localrepo.py", line 437, 
in l
ookup
    n = self.changelog._match(key)
  File "/usr/lib/python2.4/site-packages/mercurial/util.py", line 156, in 
__get_
_
    result = self.func(obj)
  File "/usr/lib/python2.4/site-packages/mercurial/localrepo.py", line 111, 
in c
hangelog
    c = changelog.changelog(self.sopener)
  File "/usr/lib/python2.4/site-packages/mercurial/demandimport.py", line 
75, in
 __getattribute__
    self._load()
  File "/usr/lib/python2.4/site-packages/mercurial/demandimport.py", line 
47, in
 _load
    mod = _origimport(head, globals, locals)
  File "/usr/lib/python2.4/site-packages/mercurial/changelog.py", line 100, 
in ?
    class changelog(revlog.revlog):
  File "/usr/lib/python2.4/site-packages/mercurial/demandimport.py", line 
75, in
 __getattribute__
    self._load()
  File "/usr/lib/python2.4/site-packages/mercurial/demandimport.py", line 
47, in
 _load
    mod = _origimport(head, globals, locals)
  File "/usr/lib/python2.4/site-packages/mercurial/revlog.py", line 52, in ?
    nullhash = _sha(nullid)
  File "/usr/lib/python2.4/site-packages/mercurial/util.py", line 25, in 
sha1
    return _fastsha1(s)
  File "/usr/lib/python2.4/site-packages/mercurial/util.py", line 32, in 
_fastsh
a1
    from hashlib import sha1 as _sha1
  File "/usr/lib/python2.4/site-packages/mercurial/demandimport.py", line 
85, in
 _demandimport
    return _origimport(name, globals, locals, fromlist)
  File "build/bdist.linux-i686/egg/hashlib.py", line 105, in ?
  File "/usr/lib/python2.4/site-packages/mercurial/demandimport.py", line 
85, in  File "/usr/lib/python2.4/site-packages/mercurial/demandimport.py", 
line 85, in
 _demandimport
    return _origimport(name, globals, locals, fromlist)
  File "build/bdist.linux-i686/egg/_hashlib.py", line 7, in ?
  File "build/bdist.linux-i686/egg/_hashlib.py", line 3, in __bootstrap__
  File "/usr/lib/python2.4/site-packages/mercurial/demandimport.py", line 
85, in
 _demandimport
    return _origimport(name, globals, locals, fromlist)
  File "/usr/lib/python2.4/site-packages/setuptools-0.6c11-
py2.4.egg/pkg_resourc
es.py", line 2594, in ?
    _declare_state('object', working_set = WorkingSet())
  File "/usr/lib/python2.4/site-packages/setuptools-0.6c11-
py2.4.egg/pkg_resourc
es.py", line 425, in __init__
    self.add_entry(entry)
  File "/usr/lib/python2.4/site-packages/setuptools-0.6c11-
py2.4.egg/pkg_resourc
es.py", line 440, in add_entry
    for dist in find_distributions(entry, True):
  File "/usr/lib/python2.4/site-packages/setuptools-0.6c11-
py2.4.egg/pkg_resourc
es.py", line 1655, in find_distributions
    importer = get_importer(path_item)
  File "/usr/lib/python2.4/site-packages/mercurial/demandimport.py", line 
71, in
 __call__
    raise TypeError("%s object is not callable" % repr(self))
TypeError: <unloaded module 'get_importer'> object is not callable
Comment 7 Matt Mackall 2010-07-09 11:20 UTC
From your latest traceback:

  File "build/bdist.linux-i686/egg/hashlib.py", line 105, in ?
...
  File "/usr/lib/python2.4/site-packages/setuptools-0.6c11-
py2.4.egg/pkg_resourc
es.py", line 1655, in find_distributions
    importer = get_importer(path_item)

You've apparently got an egg of hashlib installed, which is what's causing
the current breakage. Mercurial is looking for the stock hashlib found only
in 2.5+, and is stumbling into eggs' weird world.

Two options:

a) remove the hashlib egg
b) add "hashlib" to the demandimport.py ignore list in the Mercurial source
Comment 8 evdsande 2010-07-11 01:32 UTC
I removed the hashlib egg and that solved the issue

Many Thanks !!
Comment 9 HG Bot 2010-08-26 13:00 UTC
Fixed by http://hg.intevation.org/mercurial/crew/rev/ff5cec76b1c5
Sol Jerome <sol.jerome@gmail.com>
util: avoid using hashlib on Python < 2.5 (issue2278)
Comment 10 Bugzilla 2012-05-12 09:10 UTC

--- Bug imported by bugzilla@serpentine.com 2012-05-12 09:10 EDT  ---

This bug was previously known as _bug_ 2278 at http://mercurial.selenic.com/bts/issue2278