Pembangun skrip Python mungkin menghadapi masalah biasa apabila modul dalam projek mereka mempunyai nama yang sama dengan modul perpustakaan standard. Ini boleh menyebabkan ralat import apabila cuba mengakses modul perpustakaan standard.
Masalah:
Banyak projek termasuk modul kalendar, tetapi terdapat juga kelas Kalendar dalam standard perpustakaan. Cuba mengimport kelas Kalendar menggunakan import Kalendar import Kalendar daripada modul projek sebaliknya, membawa kepada ralat.
Penyelesaian:
Untuk menyelesaikan konflik import ini tanpa menamakan semula modul projek, Python 2.5 dan ke atas menawarkan ciri absolute_import. Ciri ini memastikan bahawa jurubahasa mengutamakan import daripada perpustakaan standard berbanding modul projek.
Dengan menambahkan baris berikut pada bahagian atas skrip:
from __future__ import absolute_import
Skrip kemudiannya boleh mengimport standard modul soket perpustakaan, walaupun jika fail socket.py wujud dalam projek:
from __future__ import absolute_import import socket
Dalam Python 3.x, tingkah laku ini ialah lalai. Apabila menggunakan Python 2.x, penggunaan absolute_import disyorkan untuk mengelakkan kemungkinan konflik dan memastikan modul yang betul diimport.
Atas ialah kandungan terperinci Bagaimana untuk Mengelakkan Konflik Import Apabila Modul Projek Mempunyai Nama yang Sama dengan Modul Perpustakaan Standard?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!