Masalahnya muncul setelah menginstal beberapa brew cask yang melakukan pembersihan rutin setelahnya. Kemudian node-gyp gagal membangun kembali beberapa paket untuk aplikasi node saya. Menginstal ulang python 2 membantu saya.
Di makro:
brew reinstall [email protected]
Penyebab kesalahan
Saat Anda memiliki file di direktori yang sama dari mana Anda mengeksekusi skrip (atau bahkan jika itu adalah skrip yang dijalankan sendiri) dinamai sama dengan modul bawaan , ini dimuat alih-alih modul bawaan.
Perbaiki
Untuk memperbaikinya Anda hanya perlu mengganti nama file Anda hashlib.py
ke sesuatu yang lain dan kemudian juru bahasa Python akan memuat modul bawaan. Anda mungkin juga perlu menghapus modul hashlib.pyc
yang telah dikompilasi yang terletak di direktori yang sama dengan hashlib.py
Anda , jika tidak, Python akan tetap memuat modul itu.
Penjelasan
Saat Anda import
modul, katakanlah import hashlib
, Python mencari modul hashlib.py
di lokasi berikut dan dalam urutan berikut:
- direktori berisi skrip yang sedang dijalankan
- modul bawaan
- direktori yang berisi skrip input (atau direktori saat ini bila tidak ada file yang ditentukan)
PYTHONPATH
variabel lingkungan (mungkin berisi daftar direktori)- jalur default yang bergantung pada penginstalan
Itu artinya jika Anda menjalankan skrip hashlib.py
yang berisi pernyataan import hashlib
, Python mengimpor skrip itu sendiri alih-alih modul bawaan hashlib
. Faktanya, Python mengkompilasi skrip Anda ke dalam file hashlib.pyc
di direktori yang sama dan mengimpor skrip yang dikompilasi, jadi jika Anda cukup mengganti nama hashlib.py
dan tinggalkan haslib.pyc
di mana itu, itu akan tetap memuatnya. Oleh karena itu Anda juga perlu menghapus haslib.pyc
.