GNU/Linux >> Znalost Linux >  >> Linux

chyba pythonu AttributeError:objekt 'module' nemá žádný atribut 'sha1'

Problém se objevil po instalaci nějakého sudu na vaření, který poté pravidelně čistil. Pak node-gyp nedokázal znovu sestavit některé balíčky pro moji aplikaci uzlu. Pomohla mi přeinstalace pythonu 2.

Na macos:

brew reinstall [email protected]

Příčina chyby

Když máte soubor ve stejném adresáři odkud jste skript spustili (nebo i když je to skript spuštěný sám) pojmenovaný stejně jako vestavěný modul , je načten místo vestavěného modulu.

Opravit

Chcete-li to opravit, stačí přejmenovat soubor hashlib.py na něco jiného a pak interpret Pythonu načte vestavěný modul. Možná budete také muset smazat zkompilovaný modul hashlib.pyc který je umístěn ve stejném adresáři jako váš hashlib.py , jinak Python bude stále načítat tento modul.

Vysvětlení

Když import modul, řekněme import hashlib , Python hledá modul hashlib.py v následujících umístěních a v následujícím pořadí:

  1. adresář obsahující spouštěný skript
  2. vestavěné moduly
  3. adresář obsahující vstupní skript (nebo aktuální adresář, není-li zadán žádný soubor)
  4. PYTHONPATH proměnná prostředí (může obsahovat seznam adresářů)
  5. výchozí cesta závislá na instalaci

To znamená, že pokud spustíte skript hashlib.py který obsahuje příkaz import hashlib , Python importuje skript samotný namísto vestavěného modulu hashlib . Ve skutečnosti Python zkompiluje váš skript do souboru hashlib.pyc ve stejném adresáři a importuje kompilovaný skript, takže pokud přejmenujete hashlib.py a ponechte haslib.pyc kde je, bude to stále načítat. Proto také musíte odstranit haslib.pyc .


Linux
  1. Chyba instalace Pythonu – Omlouváme se:UnicodeError:úniky nejsou podporovány, nelze načíst modul unicodedata [Vyřešeno]

  2. ModuleNotFoundError:Žádný modul s názvem „IPython“ [Oprava]

  3. Nelze zkompilovat Python.h – Chyba instalace Websockify

  1. Sazba -a Je zadávání chyby ve skriptu?

  2. Import modulu Python z Bash

  3. Spusťte skript Python přes crontab

  1. Chyba 'Neočekávaný konec souboru' a 'Chyba při importu definice funkce' při spuštění shellscriptu pomocí qsub

  2. chybí modul python bz2

  3. Spuštění skriptu Python z PHP