Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk Membetulkan ModuleNotFoundError Apabila Menggunakan Import Relatif dalam Python?

Bagaimana untuk Membetulkan ModuleNotFoundError Apabila Menggunakan Import Relatif dalam Python?

DDD
Lepaskan: 2024-10-29 04:52:29
asal
806 orang telah melayarinya

 How to Fix ModuleNotFoundError When Using Relative Imports in Python?

Import Relatif dalam Python: Penyelesaian Masalah ModuleNotFoundError

Apabila bekerja dengan berbilang modul Python, adalah perkara biasa untuk menghadapi ModuleNotFoundError. Ralat ini biasanya berlaku apabila cuba mengimport modul menggunakan laluan import relatif daripada fail yang tidak dilaksanakan sebagai sebahagian daripada pakej.

Untuk memahami ralat ini, adalah penting untuk membezakan antara import relatif dan mutlak:

  • Import mutlak tentukan laluan modul penuh, tanpa mengira lokasi modul semasa.
  • Import relatif membenarkan pengimportan modul berbanding dengan kedudukan modul semasa dalam pakej.

Dalam contoh yang disediakan, test.py cuba mengimport config.py menggunakan laluan import relatif (konfigurasi import). Walau bagaimanapun, apabila test.py tidak dijalankan sebagai sebahagian daripada pakej (seperti apabila dilaksanakan secara langsung sebagai skrip), utama akan menjadi modul semasa, yang tidak terkandung dalam pakej.

Oleh itu, import relatif tidak boleh digunakan daripada modul utama. Sebaliknya, anda harus menggunakan import mutlak (dari . import config). Walau bagaimanapun, menggunakan import mutlak tanpa menambah folder yang mengandungi (ryan) pada sys.path akan menghasilkan ModuleNotFoundError.

Untuk menyelesaikan isu ini, anda mesti sama ada:

  • Ubah suai direktori anda struktur dan laksanakan skrip dari dalam direktori pakej, memastikan sys.path termasuk laluan pakej.
  • Gunakan kaedah import sedar pakej, seperti memasukkan fail __init__.py ke dalam subdirektori yang mentakrifkan pakej.

Setelah langkah ini dilaksanakan, kedua-dua import mutlak dan relatif harus berfungsi seperti yang diharapkan.

Atas ialah kandungan terperinci Bagaimana untuk Membetulkan ModuleNotFoundError Apabila Menggunakan Import Relatif dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan