Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Mengelakkan Ralat 'Percubaan Import Relatif dalam Bukan Pakej' dalam Python?
Import Relatif dalam Python
Memahami import relatif dalam Python adalah penting untuk mengelakkan ralat "Percubaan import relatif dalam bukan pakej".
Skrip lwn. Modul
A perbezaan utama timbul daripada kaedah memuatkan fail Python. Apabila dilaksanakan secara langsung sebagai skrip, namanya ditetapkan kepada __main__. Sebaliknya, jika ia diimport, namanya termasuk maklumat pakej.
Konvensyen Penamaan
Sebagai contoh, jika moduleX dalam package/subpackage1/moduleX.py diimport, namanya menjadi package.subpackage1.moduleX. Walau bagaimanapun, jika dijalankan secara langsung, namanya ialah __main__.
Import Relatif
Import relatif bergantung pada nama modul untuk menentukan hierarki pakejnya. Modul dengan nama yang tidak mengandungi titik tidak dilihat sebagai sebahagian daripada pakej.
Punca Ralat
Ralat berlaku apabila import relatif dicuba dalam modul yang namanya menunjukkan ia' tidak dalam pakej (iaitu, nama mereka tidak mempunyai titik). Ini termasuk skrip (memandangkan utama tidak mempunyai titik) dan modul dimuatkan terus dari direktori semasa (di mana Python menambah direktori semasa pada laluan cariannya).
Penyelesaian
Nota
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengelakkan Ralat 'Percubaan Import Relatif dalam Bukan Pakej' dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!