Mengapa Python 3.6.1 Mencetuskan AttributeError: Modul 'enum' Kekurangan Atribut 'IntFlag'
Apabila cuba melaksanakan Python 3.6.1, ralat yang tidak jelas mungkin muncul: "AttributeError: modul 'enum' tidak mempunyai atribut 'IntFlag'." Kekeliruan ini timbul walaupun kelas 'IntFlag' ialah sebahagian daripada modul enum.py yang diketahui.
Untuk merungkai enigma ini, kami menyelidiki sumber asas isu: pertembungan antara perpustakaan standard modul enum dan pakej pihak ketiga bernama enum34. Jika enum34 hadir dalam persekitaran Python, ia boleh disalah anggap sebagai modul enum perpustakaan standard, menyebabkan kekeliruan.
Untuk mendedahkan kemungkinan ini, adalah dinasihatkan untuk meneliti sifat 'enum.__file__'. Lokasi modul enum perpustakaan standard harus menyerupai "/usr/local/lib/python3.6/enum.py." Jika ia menghala ke tempat lain, ini menunjukkan modul asing sedang digunakan.
Untuk menyelesaikan konflik, hanya nyahpasang pakej enum34.
pip uninstall -y enum34
Jika kod memerlukan keserasian merentas versi Python kedua-duanya kurang daripada atau sama dengan 3.4 dan lebih daripada 3.4, pertimbangkan untuk menggunakan enum-compat sebagai keperluan. Pakej ini memastikan bahawa enum34 dipasang hanya untuk versi Python lama yang tidak mempunyai modul enum perpustakaan standard.
Atas ialah kandungan terperinci Mengapa Python 3.6.1 Melemparkan \'AttributeError: modul \'enum\' tidak mempunyai atribut \'IntFlag\'\'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!