問題は、後で定期的なクリーンアップを行った醸造キャスクをインストールした後に発生しました。次に、node-gyp がノード アプリケーションの一部のパッケージを再構築できませんでした。 python 2 を再インストールすると役に立ちました。
MacOS の場合:
brew reinstall example@unixlinux.online
エラーの原因
同じディレクトリにファイルがある場合 スクリプトを実行した場所から (またはスクリプト自体が実行されている場合でも) 組み込みモジュールと同じ名前 、組み込みモジュールの代わりにロードされます。
修正
それを修正するには、ファイルの名前を hashlib.py に変更するだけです 別のものにすると、Python インタープリターが組み込みモジュールをロードします。コンパイルされたモジュール hashlib.pyc も削除する必要がある場合があります hashlib.py と同じディレクトリにあります。 そうしないと、Python は引き続きそのモジュールをロードします。
説明
import したとき モジュール、たとえば import hashlib としましょう 、Python はモジュール hashlib.py を探します 次の場所に、次の順序で:
PYTHONPATH 環境変数 (ディレクトリのリストを含む場合があります)
つまり、スクリプト hashlib.py を実行すると ステートメント import hashlib を含む 、Python は組み込みモジュール hashlib の代わりにスクリプト自体をインポートします .実際、Python はスクリプトをファイル hashlib.pyc にコンパイルします。 同じディレクトリにあり、そのコンパイルされたスクリプトをインポートするため、 hashlib.py の名前を変更するだけで haslib.pyc のままにします それがどこにあるか、それはまだそれをロードしています。したがって、 haslib.pyc も削除する必要があります .