Rumah >pembangunan bahagian belakang >Tutorial Python >\'ModuleNotFoundError: Tiada modul bernama x\': Mengapakah import relatif saya gagal dalam Python 3?

\'ModuleNotFoundError: Tiada modul bernama x\': Mengapakah import relatif saya gagal dalam Python 3?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-10-29 04:26:02409semak imbas

Import Relatif dan "ModuleNotFoundError: Tiada modul bernama x"

Dalam Python 3, import relatif digunakan untuk mengimport modul dalam pakej. Walau bagaimanapun, jika anda menghadapi ralat "ModuleNotFoundError: Tiada modul bernama x" semasa cuba melakukan import relatif, ia menunjukkan masalah dengan struktur pakej anda atau cara anda mengimport modul.

Import Relatif dalam Python 3

Import relatif membolehkan anda mengimport modul yang merupakan sebahagian daripada pakej yang sama seperti modul semasa. Untuk melakukan ini, anda menambah penyata import dengan titik (.) untuk menunjukkan bahawa anda mengimport daripada direktori semasa. Contohnya:

<code class="python">from . import config</code>

ModuleNotFoundError Exception

Pengecualian "ModuleNotFoundError" berlaku apabila Python tidak dapat mencari modul yang anda cuba import. Ini boleh berlaku atas pelbagai sebab, termasuk:

  • Modul tidak wujud: Modul yang anda cuba import tidak wujud dalam laluan yang ditentukan.
  • Laluan modul yang salah: Laluan import yang dinyatakan dalam pernyataan import adalah salah.
  • Fail bukan modul Python: Fail yang anda cuba import bukan modul Python yang sah (cth., ia tidak mengandungi kod Python yang sesuai).

Menyelesaikan Masalah Import Relatif

Untuk menyelesaikan "Tiada modul bernama x " ralat semasa mencuba import relatif:

  1. Sahkan kewujudan modul: Pastikan modul yang anda cuba import wujud dalam direktori yang sama dengan modul semasa anda.
  2. Semak laluan import: Pastikan laluan import relatif adalah betul. Semak semula struktur pakej anda dan lokasi modul yang ingin anda import.
  3. Gunakan import mutlak: Jika anda tidak dapat menyelesaikan isu dengan import relatif, pertimbangkan untuk menggunakan import mutlak imports, yang menentukan laluan penuh ke modul yang ingin anda import. Contohnya:
<code class="python">import <package_name>.config</code>

Import Relatif dengan utama Modul

Perhatikan bahawa import relatif tidak dibenarkan daripada modul utama, yang dilaksanakan apabila skrip Python dijalankan secara langsung. Dalam kes ini, anda perlu menggunakan import mutlak untuk merujuk modul dalam pakej anda.

Atas ialah kandungan terperinci \'ModuleNotFoundError: Tiada modul bernama x\': Mengapakah import relatif saya gagal dalam Python 3?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn