Herhangi bir hg mercurial komutu kullanılırken “ERROR: root: hash md5 kodu bulunamadı”


103

hgKonsolda Mercurial komutlarını kullanmaya çalışırken bu hatayı almaya devam ediyorum. Python'u Homebrew kullanarak kurdum ve Mac OS Catalina v. 10.15.1 kullanıyorum.

Herhangi bir referans takdir edilecektir. İşte hata alıyorum:

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'

Ayrıca bu konudaki talimatları izlemeyi denedim ama çözümlerin hiçbiri işe yaramadı

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. sayıya bağlantınız eksik.
UuDdLrLrSs


MacOS için herhangi bir çözüm var mı? Bu çözümleri denedim ama hiçbiri çalışmıyor. Aynı hatayı almaya devam ediyorum. Benim sorum yapıştırılan gibi openssl bağlantı çalıştığınızda ben orada yapıştırılan hata olsun. Ben de bu 4 komutu çalıştırmayı denedim ama hiçbir şey olmadı: echo 'export PATH = "/ usr/local/opt/openssl@1.1/bin: $ PATH"' >> ~ / .zshrc export LDFLAGS = "- L / usr / local /opt/openssl@1.1/lib "ihracat CPPFLAGS =" - I/usr/local/opt/openssl@1.1/include "ihracat PKG_CONFIG_PATH =" / usr/local/opt/openssl@1.1/lib/pkgconfig "
poca

Yanıtlar:


325

Koşu brew reinstall python@2, mevcut Python 2.7 sanal ortamlarım için çalışmadı. İçlerinde hala ERROR:root:code for hash sha1 was not foundhatalar vardı.

Koştuktan sonra bu sorunla karşılaştım brew upgrade openssl. Ve işte düzeltme:

$ ls /usr/local/Cellar/openssl

... gösteren

1.0.2t

Mevcut sürüme göre çalıştırın:

$ brew switch openssl 1.0.2t

... gösteren

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

Bundan sonra, bir Python 2.7 virtualenv'de aşağıdaki komutu çalıştırın:

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

... gösteren

d41d8cd98f00b204e9800998ecf8427e

Başka hata yok.


10
Bu bana bir mac catalina güncellemesinde ya da belki ton gibi şeylerin kırıldığı bash -> zsh'da yardımcı oldu.
NathanQ

3
1.0.2q yoktu ama 1.0.2r ile aynı işi de çalıştı
Matt Coady

2
Evet. Bu benim için çalışıyor. Bunun için günlerimi ve makinemi yeniden görüntülemekten korkuyorum. Python @ 2 defalarca yeniden yüklemeye çalıştım ama yine de sorunu çözemedim. Bu kesinlikle işe yarıyor. MacOS Mojave 10.14.6.
hb5fa

1
cehennem evet, işe yarıyor. bin çözüm deneyen gün geçirdi
ariezona

1
@FlorentRoques, örnekle aynı sürüme sahip olmanız gerektiğinden. Benim durumumda bu yüzden çalıştırmak için gerekli ls /usr/local/Cellar/openssldöndü1.0.2sbrew switch openssl 1.0.2s
Jaybeecave

86

Önce openssl bağlantısını kaldırarak bunu düzeltmeyi başardı

brew unlink openssl

Ve sonra python yeniden

brew reinstall python@2

Ayrıca 'demlemek doktor' çalıştırırken / usr / local / include / node / içinde bulunan bir openssl klasörü ile ilgili bir uyarı olduğunu fark ettim. Yukarıdaki komutları çalıştırmadan önce bu klasörü sildim (ilgili olup olmadığından emin değilim)


2
Ben openssl bağlı yoktu ama python yeniden yükleme benim için yaptı. Teşekkürler!
chrysillo

Cankurtaran - teşekkürler. Google Cloud SDK'yı yükleme konusunda benzer sorunlar yaşıyordum ve bu sorunu çözdü.
jonhendrix


10 Şubat 2020 itibariyle, python @ 2 homebrew'dan kaldırıldı ve bu cevap çalışmayacak. @Rockallite tarafından benim için mükemmel çalışan yukarıdaki cevaba bakın.
Paul

@Paul güncellemesi için teşekkürler, yukarıdaki cevabı doğru olarak işaretledim
poca

30

Benim için durum, bir django web uygulamasının bağımlılıklarını yüklediğimde, çevreyi bozuyor. Yazdığımda cdaynı hatayı gösteriyor.

Sorun opensslkütüphane, doğru olanları bulamıyor.

Macintosh'taysanız, aşağıdakileri yazabilirsiniz:

ls /usr/local/Cellar/openssl

tüm sürümleri görmek için,

brew switch openssl 1.0.XXXX

kullanılabilir openssl sürümünü seçmek için.

Sonra hata gitti :)


4
bir astarbash ls /usr/local/Cellar/openssl | xargs brew switch openssl
Florent Roques

@Poca'nın cevabını ve sonra cevabını kullandıktan sonra çalıştım
imsheth

0

Ne zaman hashlib ithal ediyorum karma md5 bulunamadı belirten bir hata mesajı görürdüm.

İlk kez openssl bağlantısını kaldırarak bu sorunu giderebildim: demlemek unlink openssl

Sonra MacPorts kullanarak python 2.7 kaldırdım: sudo port kaldırma python27

Sonra MacPorts kullanarak python 2.7 yükledim: sudo port install python27

Şimdi hashlib çalışmalarını içe aktarma :)


0

Sadece python2'yi kaldırın

$ brew uninstall python@2

Herhangi bir hata varsa:

$ brew uninstall --ignore-dependencies python@2

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.