問題は、後で定期的なクリーンアップを行った醸造キャスクをインストールした後に発生しました。次に、node-gyp がノード アプリケーションの一部のパッケージを再構築できませんでした。 python 2 を再インストールすると役に立ちました。
MacOS の場合:
brew reinstall [email protected]
エラーの原因
同じディレクトリにファイルがある場合 スクリプトを実行した場所から (またはスクリプト自体が実行されている場合でも) 組み込みモジュールと同じ名前 、組み込みモジュールの代わりにロードされます。
修正
それを修正するには、ファイルの名前を 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 も削除する必要があります .