"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/openssl@1.1/bin:$PATH"' >> ~/.zshrc

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

For pkg-config to find openssl@1.1 you may need to set:
  export PKG_CONFIG_PATH="/usr/local/opt/openssl@1.1/lib/pkgconfig"

1
Votre lien vers le problème 1 est manquant.
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/openssl@1.1/bin: $ PATH"' >> ~ / .zshrc export LDFLAGS = "- L / usr / local /opt/openssl@1.1/lib "export CPPFLAGS =" - I/usr/local/opt/openssl@1.1/include "export PKG_CONFIG_PATH =" / usr/local/opt/openssl@1.1/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.


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)


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 :)


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 :)


0

Désinstallez simplement python2

$ brew uninstall python@2

S'il y a une erreur:

$ brew uninstall --ignore-dependencies python@2

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.