Rumah >pembangunan bahagian belakang >Tutorial Python >ModuleNotFoundError: Bagaimana untuk menyelesaikan ralat modul Python tidak dijumpai?

ModuleNotFoundError: Bagaimana untuk menyelesaikan ralat modul Python tidak dijumpai?

王林
王林asal
2023-06-25 21:30:318254semak imbas

Semasa proses pembangunan Python, kami sering menghadapi ralat modul tidak ditemui. Manifestasi khusus ralat ini ialah Python melaporkan satu daripada dua ralat: ModuleNotFoundError atau ImportError apabila mengimport modul. Ralat ini sangat menjengkelkan dan boleh menghalang program daripada berjalan dengan betul, jadi dalam artikel ini, kami akan meneroka punca ralat ini dan cara menyelesaikannya.

ModuleNotFoundError dan ImportError

Selepas Python3, ModuleNotFoundError ialah jenis ralat baharu yang digunakan untuk menunjukkan bahawa Python tidak dapat mencari modul yang ditentukan. Ia biasanya disebabkan oleh salah satu daripada situasi berikut:

  • Modul tidak wujud dalam laluan carian Python.
  • Nama modul dieja dengan salah.
  • Pakej atau modul yang bergantung kepada modul tidak dipasang dengan betul.
  • Pembolehubah persekitaran diubah suai atau menunjukkan ralat.

Versi awal Python menggunakan ImportError untuk menunjukkan ralat apabila modul tidak boleh diimport. ImportError juga dikekalkan dalam Python3, tetapi ia digunakan terutamanya untuk menunjukkan ralat lain dalam proses mengimport modul, seperti kebergantungan bulat, ralat sintaks, dll.

Solution

Apabila ralat ModuleNotFoundError berlaku, kita perlu mengambil beberapa langkah untuk menyelesaikannya. Di bawah, kami akan memperkenalkan beberapa penyelesaian.

Semak nama modul untuk kesilapan ejaan

Anda perlu memastikan bahawa anda memasukkan nama modul dengan betul. Jika anda memasukkan nama modul yang salah, Python tidak akan dapat mencari modul, menyebabkan ModuleNotFoundError.

Semak sama ada modul wujud dalam laluan carian Python

Laluan carian Python merujuk kepada laluan di mana jurubahasa Python mencari modul. Jika modul anda tidak berada di laluan carian, Python tidak akan dapat mencarinya. Anda boleh melihat laluan carian Python melalui kod berikut:

import sys
print(sys.path)

Jika modul anda tidak wujud dalam laluan carian, anda boleh menggunakan dua kaedah berikut untuk menambah laluan carian:

Kaedah pertama:

import sys
sys.path.append('模块所在路径')

Kaedah kedua:

Salin modul anda ke mana-mana direktori yang disertakan dalam laluan carian Python.

Semak sama ada pakej atau modul yang bergantung kepada modul dipasang dengan betul

Sesetengah modul perlu bergantung pada pakej atau modul lain untuk berfungsi dengan baik. Jika modul anda bergantung pada pakej atau modul yang tidak dipasang dengan betul, Python tidak akan dapat mencarinya. Anda boleh memasang pakej atau modul yang hilang melalui arahan berikut:

pip install 包名

atau

conda install 包名

Semak sama ada pembolehubah persekitaran menunjukkan ralat

Dalam sesetengah kes, pembolehubah persekitaran mungkin diubah suai atau menunjuk kepada ralat, menyebabkan Python tidak dapat cari modul. Anda boleh menyemak sama ada pembolehubah persekitaran PYTHONPATH ditetapkan dengan betul. Anda boleh melihat PYTHONPATH melalui kod berikut:

import os
print(os.environ.get("PYTHONPATH"))

Jika pembolehubah persekitaran PYTHONPATH tidak ditetapkan dengan betul, anda boleh menetapkan pembolehubah persekitaran melalui arahan berikut:

export PYTHONPATH=模块所在路径

Ringkasan

Di atas adalah beberapa kaedah untuk menyelesaikan ralat ModuleNotFoundError. Untuk memahami ralat ini, kami perlu memastikan bahawa nama modul kami betul, modul wujud dalam laluan carian Python, pakej atau modul bergantung dipasang dengan betul, pembolehubah persekitaran menunjuk ke titik yang betul, dsb. Apabila anda menghadapi masalah yang sukar diselesaikan, anda boleh mendapatkan bantuan melalui komuniti Python dan saluran lain.

Atas ialah kandungan terperinci ModuleNotFoundError: Bagaimana untuk menyelesaikan ralat modul Python tidak dijumpai?. 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