hg mercurialコマンドを使用すると「ERROR:root:code for hash md5 was not found」というエラーメッセージが表示される


103

hgコンソールでMercurialコマンドを使用しようとすると、このエラーが発生し続けます。Homebrewを使用してPythonをインストールし、Mac OS Catalina v 10.15.1を実行しています。

どんな参考もいただければ幸いです。ここに私が得ているエラーがあります:

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'

私もこの問題の指示に従ってみましたが、解決策のどれもうまくいかないようです

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
問題1へのリンクがありません。
UuDdLrLrSs


MacOSのソリューションはありますか?私はこれらの解決策を試しましたが、どれも機能していません。同じエラーが発生し続けます。私が質問に貼り付けたようにopensslをリンクしようとすると、そこにエラーが貼り付けられます。私もこれらの4つのコマンドを実行してみましたが、何も起こりませんでした: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

回答:


325

brew reinstall python@2既存のPython 2.7仮想環境では実行できませんでした。内部にはまだERROR:root:code for hash sha1 was not foundエラーがありました。

私が走っbrew upgrade opensslた後、私はこの問題に遭遇しました。そしてここに修正があります:

$ ls /usr/local/Cellar/openssl

...それは示しています

1.0.2t

既存のバージョンによると、実行します:

$ brew switch openssl 1.0.2t

...それは示しています

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

その後、Python 2.7 virtualenvで次のコマンドを実行します。

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

...それは示しています

d41d8cd98f00b204e9800998ecf8427e

エラーはもうありません。


10
これは、Macカタリナの更新、またはおそらくbash-> zshでこのような多くのものが壊れているのを助けました。
NathanQ

3
1.0.2qはありませんでしたが、1.0.2rでも同じことができました
Matt Coady

2
はい。これでうまくいきます。私はこれに何日も費やし、自分のマシンのイメージを再作成する必要があることを恐れていました。私は何度もpython @ 2を再インストールしようとしましたが、それでも問題を解決できませんでした。これは間違いなく動作します。MacOS Mojave 10.14.6。
hb5fa

1
地獄ええ、それは動作します。数千のソリューションを試すために何日も費やした
アリエゾナ

1
@FlorentRoquesこれは、例と同じバージョンであったためです。私の場合ls /usr/local/Cellar/opensslは戻った1.0.2sので、実行する必要がありましたbrew switch openssl 1.0.2s
Jaybeecave

86

最初にopensslのリンクを解除することでこれを修正することができました

brew unlink openssl

そして、Python再インストールします

brew reinstall python@2

「brew doctor」を実行すると、/ usr / local / include / node /にあるopensslフォルダーに関連する警告が表示されたことにも気付きました。上記のコマンドを実行する前にこのフォルダを削除しました(関連しているかどうかはわかりません)


2
opensslをリンクしていませんでしたが、pythonを再インストールするとうまくいきました。ありがとう!
クリシージョ

命の恩人-ありがとう。Google Cloud SDKのインストールで同様の問題が発生し、これで問題が解決しました。
jonhendrix

azure-cliをbrewに再リンクしなければなり
ませんでした

2020年2月10日以降、python @ 2が自作から削除され、この回答は機能しなくなります。@Rockalliteによる上記の回答を参照してください。
ポール

@Paulの更新をありがとう、私は上記の答えを正しいものとしてマークしました
poca

30

私の場合は、django Webアプリの依存関係をインストールすると、環境が台無しになるということです。と入力cdすると、同じエラーが表示されます。

問題はopensslライブラリでした。正しいものを見つけることができません。

Macintoshを使用している場合は、次のように入力できます。

ls /usr/local/Cellar/openssl

すべてのバージョンを確認するには、

brew switch openssl 1.0.XXXX

使用可能なopensslバージョンを選択します。

その後、エラーはなくなりました:)


4
ワンライナーbash ls /usr/local/Cellar/openssl | xargs brew switch openssl
フローレントロック

@pocaの回答を使用してから上記の回答を使用した後に機能しました
imsheth

0

hashlibをインポートすると、ハッシュmd5が見つからなかったことを示すエラーメッセージが表示されます。

私は最初にopensslのリンクを解除することでこの問題を修正することができました:brew unlink openssl

次に、MacPortsを使用してpython 2.7をアンインストールしました。sudoport uninstall python27

次に、MacPortsを使用してpython 2.7をインストールしました。sudoport install python27

今hashlibをインポートすると動作します:)


0

python2をアンインストールするだけです

$ brew uninstall python@2

エラーがある場合:

$ brew uninstall --ignore-dependencies python@2

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.