Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk Menyelesaikan Ralat \'Percubaan Import Relatif Melangkaui Pakej Peringkat Atas\' Python?

Bagaimana untuk Menyelesaikan Ralat \'Percubaan Import Relatif Melangkaui Pakej Peringkat Atas\' Python?

Barbara Streisand
Lepaskan: 2024-11-18 07:35:02
asal
636 orang telah melayarinya

How to Resolve Python's

Ralat Import Relatif Python: Menyelesaikan masalah "Percubaan Import Relatif Melangkaui Pakej Peringkat Atas"

Dalam Python, import relatif membenarkan anda merujuk modul dalam pakej berbanding dengan direktori semasa. Walau bagaimanapun, percubaan import relatif melebihi pakej peringkat atas boleh mengakibatkan ralat "ValueError: percubaan import relatif melebihi pakej peringkat atas."

Pertimbangkan struktur pakej berikut:

package/
   __init__.py
   A/
      __init__.py
      foo.py
   test_A/
      __init__.py
      test.py
Salin selepas log masuk

Apabila melaksanakan test.py dalam direktori pakej menggunakan python -m test_A.test, anda menghadapi ralat di atas. Sebabnya ialah Python tidak menyimpan maklumat tentang pakej peringkat teratas di mana test_A.test terletak.

Apabila menggunakan dari ..A import foo, Python cuba mengakses direktori saudara ke lokasi yang dimuatkan. Walau bagaimanapun, dalam kes ini, tiada konsep direktori adik-beradik kerana pakej tidak diiktiraf sebagai pakej.

Sebaliknya, melaksanakan python -m package.test_A.test menyelesaikan import relatif dengan betul kerana Python boleh mengenal pasti pakej sebagai pakej peringkat teratas dan menavigasi direktori anaknya, test_A.

Walau bagaimanapun, kekurangan pengiktirafan Python terhadap direktori kerja semasa sebagai satu pakej kekal misteri. Walaupun kegunaannya, pengawasan ini boleh menyebabkan ralat apabila mencuba import relatif daripada direktori peringkat atas.

Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Ralat \'Percubaan Import Relatif Melangkaui Pakej Peringkat Atas\' 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan