"ERREUR: root: le code pour le hachage md5 est introuvable" lors de l'utilisation des commandes mercurial hg

103

Lorsque j'essaie d'utiliser des hgcommandes Mercurial sur la console, je reçois toujours cette erreur. J'ai installé Python en utilisant Homebrew et j'utilise Mac OS Catalina v. 10.15.1.

Toute référence serait appréciée. Voici l'erreur que je reçois:

hg commit --amend
ERROR:root:code for hash md5 was not found.
Traceback (most recent call last):
  File "/usr/local/Cellar/python@2/2.7.15_3/Frameworks/Python.framework/Versions/2.7/lib/python2.7/hashlib.py", line 147, in <module>
    globals()[__func_name] = __get_hash(__func_name)
  File "/usr/local/Cellar/python@2/2.7.15_3/Frameworks/Python.framework/Versions/2.7/lib/python2.7/hashlib.py", line 97, in __get_builtin_constructor
    raise ValueError('unsupported hash type ' + name)
ValueError: unsupported hash type md5
ERROR:root:code for hash sha1 was not found.
Traceback (most recent call last):
  File "/usr/local/Cellar/python@2/2.7.15_3/Frameworks/Python.framework/Versions/2.7/lib/python2.7/hashlib.py", line 147, in <module>
    globals()[__func_name] = __get_hash(__func_name)
  File "/usr/local/Cellar/python@2/2.7.15_3/Frameworks/Python.framework/Versions/2.7/lib/python2.7/hashlib.py", line 97, in __get_builtin_constructor
    raise ValueError('unsupported hash type ' + name)
ValueError: unsupported hash type sha1
ERROR:root:code for hash sha224 was not found.
Traceback (most recent call last):
  File "/usr/local/Cellar/python@2/2.7.15_3/Frameworks/Python.framework/Versions/2.7/lib/python2.7/hashlib.py", line 147, in <module>
    globals()[__func_name] = __get_hash(__func_name)
  File "/usr/local/Cellar/python@2/2.7.15_3/Frameworks/Python.framework/Versions/2.7/lib/python2.7/hashlib.py", line 97, in __get_builtin_constructor
    raise ValueError('unsupported hash type ' + name)
ValueError: unsupported hash type sha224
ERROR:root:code for hash sha256 was not found.
Traceback (most recent call last):
  File "/usr/local/Cellar/python@2/2.7.15_3/Frameworks/Python.framework/Versions/2.7/lib/python2.7/hashlib.py", line 147, in <module>
    globals()[__func_name] = __get_hash(__func_name)
  File "/usr/local/Cellar/python@2/2.7.15_3/Frameworks/Python.framework/Versions/2.7/lib/python2.7/hashlib.py", line 97, in __get_builtin_constructor
    raise ValueError('unsupported hash type ' + name)
ValueError: unsupported hash type sha256
ERROR:root:code for hash sha384 was not found.
Traceback (most recent call last):
  File "/usr/local/Cellar/python@2/2.7.15_3/Frameworks/Python.framework/Versions/2.7/lib/python2.7/hashlib.py", line 147, in <module>
    globals()[__func_name] = __get_hash(__func_name)
  File "/usr/local/Cellar/python@2/2.7.15_3/Frameworks/Python.framework/Versions/2.7/lib/python2.7/hashlib.py", line 97, in __get_builtin_constructor
    raise ValueError('unsupported hash type ' + name)
ValueError: unsupported hash type sha384
ERROR:root:code for hash sha512 was not found.
Traceback (most recent call last):
  File "/usr/local/Cellar/python@2/2.7.15_3/Frameworks/Python.framework/Versions/2.7/lib/python2.7/hashlib.py", line 147, in <module>
    globals()[__func_name] = __get_hash(__func_name)
  File "/usr/local/Cellar/python@2/2.7.15_3/Frameworks/Python.framework/Versions/2.7/lib/python2.7/hashlib.py", line 97, in __get_builtin_constructor
    raise ValueError('unsupported hash type ' + name)
ValueError: unsupported hash type sha512
Traceback (most recent call last):
  File "/usr/local/bin/hg", line 43, in <module>
    dispatch.run()
  File "/usr/local/Cellar/mercurial/4.9/lib/python2.7/site-packages/hgdemandimport/demandimportpy2.py", line 150, in __getattr__
    self._load()
  File "/usr/local/Cellar/mercurial/4.9/lib/python2.7/site-packages/hgdemandimport/demandimportpy2.py", line 94, in _load
    _origimport, head, globals, locals, None, level)
  File "/usr/local/Cellar/mercurial/4.9/lib/python2.7/site-packages/hgdemandimport/demandimportpy2.py", line 43, in _hgextimport
    return importfunc(name, globals, *args, **kwargs)
  File "/usr/local/Cellar/mercurial/4.9/lib/python2.7/site-packages/mercurial/dispatch.py", line 625, in <module>
    class lazyaliasentry(object):
  File "/usr/local/Cellar/mercurial/4.9/lib/python2.7/site-packages/mercurial/dispatch.py", line 636, in lazyaliasentry
    @util.propertycache
  File "/usr/local/Cellar/mercurial/4.9/lib/python2.7/site-packages/hgdemandimport/demandimportpy2.py", line 150, in __getattr__
    self._load()
  File "/usr/local/Cellar/mercurial/4.9/lib/python2.7/site-packages/hgdemandimport/demandimportpy2.py", line 94, in _load
    _origimport, head, globals, locals, None, level)
  File "/usr/local/Cellar/mercurial/4.9/lib/python2.7/site-packages/hgdemandimport/demandimportpy2.py", line 43, in _hgextimport
    return importfunc(name, globals, *args, **kwargs)
  File "/usr/local/Cellar/mercurial/4.9/lib/python2.7/site-packages/mercurial/util.py", line 180, in <module>
    'md5': hashlib.md5,
  File "/usr/local/Cellar/mercurial/4.9/lib/python2.7/site-packages/hgdemandimport/demandimportpy2.py", line 151, in __getattr__
    return getattr(self._module, attr)
AttributeError: 'module' object has no attribute 'md5'

J'ai également essayé de suivre les instructions sur ce problème, mais aucune des solutions ne semble fonctionner

brew link openssl --force
Warning: Refusing to link macOS-provided software: openssl@1.1
If you need to have openssl@1.1 first in your PATH run:
  echo 'export PATH="/usr/local/opt/[email protected]/bin:$PATH"' >> ~/.zshrc

For compilers to find openssl@1.1 you may need to set:
  export LDFLAGS="-L/usr/local/opt/[email protected]/lib"
  export CPPFLAGS="-I/usr/local/opt/[email protected]/include"

For pkg-config to find openssl@1.1 you may need to set:
  export PKG_CONFIG_PATH="/usr/local/opt/[email protected]/lib/pkgconfig"
poca
la source
1
Votre lien vers le problème 1 est manquant.
UuDdLrLrSs
Cela ressemble à un problème Python: stackoverflow.com/questions/20399331/… ou stackoverflow.com/questions/41798118/…
UuDdLrLrSs
Des solutions pour MacOS? J'ai essayé ces solutions mais aucune ne fonctionne. Je reçois toujours la même erreur. Lorsque j'essaie de lier openssl comme je l'ai collé dans ma question, je reçois l'erreur collée là-bas. J'ai également essayé d'exécuter ces 4 commandes mais rien ne s'est produit: echo 'export PATH = "/ usr/local/opt/[email protected]/bin: $ PATH"' >> ~ / .zshrc export LDFLAGS = "- L / usr / local /opt/[email protected]/lib "export CPPFLAGS =" - I/usr/local/opt/[email protected]/include "export PKG_CONFIG_PATH =" / usr/local/opt/[email protected]/lib/pkgconfig "
poca

Réponses:

325

L'exécution brew reinstall python@2n'a pas fonctionné pour mes environnements virtuels Python 2.7 existants. À l'intérieur, il y avait encore des ERROR:root:code for hash sha1 was not founderreurs.

J'ai rencontré ce problème après avoir couru brew upgrade openssl. Et voici la solution:

$ ls /usr/local/Cellar/openssl

...qui montre

1.0.2t

Selon la version existante, exécutez:

$ brew switch openssl 1.0.2t

...qui montre

Cleaning /usr/local/Cellar/openssl/1.0.2t
Opt link created for /usr/local/Cellar/openssl/1.0.2t

Après cela, exécutez la commande suivante dans un virtualenv Python 2.7:

(my-venv) $ python -c "import hashlib;m=hashlib.md5();print(m.hexdigest())"

...qui montre

d41d8cd98f00b204e9800998ecf8427e

Plus d'erreurs.

Rockallite
la source
10
Cela m'a aidé sur une mise à jour mac catalina ou peut-être le bash -> zsh où des tonnes de choses comme ça ont été cassées.
NathanQ
3
Je n'avais pas 1.0.2q mais faire de même avec 1.0.2r fonctionnait aussi
Matt Coady
2
Oui. Cela fonctionne pour moi. J'ai passé des jours là-dessus et dans la crainte de devoir refaire l'image de ma machine. J'ai essayé de réinstaller python @ 2 de nombreuses fois mais je n'ai toujours pas pu résoudre le problème. Celui-ci fonctionne définitivement. MacOS Mojave 10.14.6.
hb5fa
1
enfer ouais, ça marche. a passé des jours à essayer mille solutions
ariezona
1
@FlorentRoques c'est parce que vous auriez eu la même version que l'exemple. Dans mon cas , je suis ls /usr/local/Cellar/opensslretourné, 1.0.2sdonc je devais courirbrew switch openssl 1.0.2s
Jaybeecave
86

A réussi à résoudre ce problème en dissociant d'abord openssl

brew unlink openssl

Et puis réinstaller python

brew reinstall python@2

J'ai également remarqué que lors de l'exécution de «brew doctor», un avertissement était lié à un dossier openssl trouvé dans / usr / local / include / node /. J'ai supprimé ce dossier avant d'exécuter les commandes ci-dessus (je ne sais pas si elles sont liées)

poca
la source
2
Je n'ai pas lié openssl mais la réinstallation de python l'a fait pour moi. Merci!
chrysillo
Gareautrain - merci. J'ai rencontré des problèmes similaires avec l'installation de Google Cloud SDK et cela a résolu le problème.
jonhendrix
J'ai dû relier l'azur-cli avec de l'infusion
chaosguru
Depuis le 10 février 2020, python @ 2 est supprimé de l'homebrew et cette réponse ne fonctionnera pas. Voir la réponse ci-dessus par @Rockallite, qui a parfaitement fonctionné pour moi.
Paul
Merci pour la mise à jour @Paul, j'ai marqué la réponse ci-dessus comme la bonne
poca
31

Le cas pour moi est que lorsque j'installe des dépendances d'une application web django, cela gâche l'environnement. Lorsque je tape cd, il affiche la même erreur.

Le problème était la opensslbibliothèque, elle ne trouve pas les bonnes.

Si vous êtes sur Macintosh, vous pouvez taper

ls /usr/local/Cellar/openssl

pour voir toutes les versions,

brew switch openssl 1.0.XXXX

pour choisir la version openssl disponible.

Ensuite, l'erreur a disparu :)

Bingyu Shen
la source
5
un paquebotbash ls /usr/local/Cellar/openssl | xargs brew switch openssl
Florent Roques
A fonctionné après avoir utilisé la réponse de @poca, puis la réponse ci-dessus
il y a
0

Lorsque j'importais hashlib, je voyais un message d'erreur indiquant que le hachage md5 était introuvable.

J'ai pu résoudre ce problème en dissociant d'abord openssl: brew unlink openssl

Ensuite, j'ai désinstallé python 2.7 à l'aide de MacPorts: sudo port uninstall python27

Ensuite, j'ai installé python 2.7 en utilisant MacPorts: sudo port install python27

Maintenant, l'importation de hashlib fonctionne :)

user1766438
la source
0

Désinstallez simplement python2

$ brew uninstall python@2

S'il y a une erreur:

$ brew uninstall --ignore-dependencies python@2

Ravi D
la source