HomeLập trìnhPythonkhông có mô-đun...

không có mô-đun nào có tên Lỗi Python [Fixed]


Khi bạn cố gắng nhập một mô-đun trong tệp Python, Python sẽ cố gắng giải quyết mô-đun này theo một số cách. Đôi khi, Python ném ModuleNotFoundLỗi sau đó. Lỗi này có ý nghĩa gì trong Python?

Đúng như tên gọi, lỗi này xảy ra khi bạn đang cố truy cập hoặc sử dụng một mô-đun không thể tìm thấy. Trong trường hợp tiêu đề, “mô-đun có tên con trăn” không thể được tìm thấy.

con trăn ở đây có thể là bất kỳ mô-đun nào. Đây là một lỗi khi tôi cố gắng nhập một numpys mô-đun không thể tìm thấy:

import numpys as np

Đây là lỗi trông như thế nào:

hình ảnh-341

Dưới đây là một vài lý do tại sao một mô-đun có thể không được tìm thấy:

  • bạn chưa cài đặt mô-đun mà bạn đã thử nhập trên máy tính của mình
  • bạn đã viết sai một mô-đun (vẫn liên kết trở lại điểm trước đó, mô-đun sai chính tả đó chưa được cài đặt)…ví dụ: chính tả numpy như numpys trong quá trình nhập khẩu
  • bạn sử dụng cách viết hoa không chính xác cho một mô-đun (vẫn liên kết trở lại điểm đầu tiên)…ví dụ: chính tả numpy như NumPy trong quá trình nhập sẽ đưa ra lỗi không tìm thấy mô-đun vì cả hai mô-đun đều “không giống nhau”
  • bạn đang nhập một mô-đun bằng đường dẫn sai
Đọc thêm  Cách gọi một hàm trong Python – Ví dụ về cú pháp Def

Cách sửa lỗi ModuleNotFoundError trong Python

Như tôi đã đề cập trong phần trước, có một số lý do khiến một mô-đun có thể không được tìm thấy. Dưới đây là một số giải pháp.

1. Đảm bảo rằng các mô-đun đã nhập đã được cài đặt

Lấy ví dụ, numpy. Bạn sử dụng mô-đun này trong mã của mình trong tệp có tên “test.py” như sau:

import numpy as np

arr = np.array([1, 2, 3])

print(arr)

Nếu bạn cố chạy mã này với python test.py và bạn nhận được lỗi này:

ModuleNotFoundError: No module named "numpy"

Sau đó, rất có thể là numpy mô-đun chưa được cài đặt trên thiết bị của bạn. Bạn có thể cài đặt mô-đun như thế này:

python -m pip install numpy

Khi được cài đặt, mã trước đó sẽ hoạt động chính xác và bạn nhận được kết quả được in trong thiết bị đầu cuối của mình:

[1, 2, 3]

2. Đảm bảo rằng các mô-đun được viết đúng chính tả

Trong một số trường hợp, bạn có thể đã cài đặt mô-đun mình cần, nhưng việc cố gắng sử dụng mô-đun đó vẫn gây ra lỗi ModuleNotFound. Trong những trường hợp như vậy, có thể bạn đã viết sai chính tả. Lấy ví dụ, mã này:

import nompy as np

arr = np.array([1, 2, 3])

print(arr)

Ở đây, bạn đã cài đặt numpy nhưng chạy đoạn mã trên sẽ gây ra lỗi này:

ModuleNotFoundError: No module named "nompy"

Lỗi này là do viết sai chính tả numpy mô-đun như nompy (có thư o thay vì bạn). Bạn có thể sửa lỗi này bằng cách viết đúng mô-đun.

Đọc thêm  Cách tìm nhanh các vấn đề về loại trong mã Python của bạn bằng Pytype

3. Đảm bảo rằng các mô-đun được đặt đúng vỏ

Tương tự như vấn đề viết sai chính tả đối với lỗi không tìm thấy mô-đun, cũng có thể là do bạn viết đúng chính tả mô-đun nhưng lại viết sai cách viết hoa. Đây là một ví dụ:

import Numpy as np

arr = np.array([1, 2, 3])

print(arr)

Đối với mã này, bạn có numpy đã cài đặt nhưng chạy đoạn mã trên sẽ báo lỗi này:

ModuleNotFoundError: No module named 'Numpy'

Do sự khác biệt về vỏ bọc, numpyNumpy là các mô-đun khác nhau. Bạn có thể sửa lỗi này bằng cách đánh vần mô-đun trong cách viết hoa đúng.

4. Đảm bảo rằng bạn sử dụng đúng đường dẫn

Trong Python, bạn có thể nhập mô-đun từ các tệp khác bằng cách sử dụng tuyệt đối hoặc liên quan đến những con đường. Đối với ví dụ này, tôi sẽ tập trung vào các đường dẫn tuyệt đối.

Khi bạn cố gắng truy cập một mô-đun từ đường dẫn sai, bạn cũng sẽ nhận được mô-đun không tìm thấy ở đây. Đây là một ví dụ:

Giả sử bạn có một thư mục dự án có tên kiểm tra. Trong đó, bạn có hai thư mục demoAbản demoB.

demoA có một __init__.py tệp (để hiển thị đó là gói Python) và test1.py mô-đun.

demoA cũng có một __init__.py tập tin và một test2.py mô-đun.

Đây là cấu trúc:

└── test
    ├── demoA
        ├── __init__.py
    │   ├── test1.py
    └── demoB
        ├── __init__.py
        ├── test2.py

Đây là nội dung của test1.py:

def hello():
  print("hello")

Và giả sử bạn muốn sử dụng khai báo này hello chức năng trong test2.py. Đoạn mã sau sẽ đưa ra lỗi không tìm thấy mô-đun:

import demoA.test as test1

test1.hello()

Mã này sẽ đưa ra lỗi sau:

ModuleNotFoundError: No module named 'demoA.test'

Lý do cho điều này là chúng tôi đã sử dụng sai đường dẫn để truy cập vào test1 mô-đun. Con đường đúng phải là demoA.test1. Khi bạn sửa lỗi đó, mã sẽ hoạt động:

import demoA.test1 as test1

test1.hello()
# hello

kết thúc

Để giải quyết một mô-đun đã nhập, Python kiểm tra các vị trí như thư viện sẵn có, mô-đun đã cài đặt và mô-đun trong dự án hiện tại. Nếu nó không thể giải quyết mô-đun đó, nó sẽ ném ModuleNotFoundLỗi.

Đọc thêm  Giới thiệu về thuật toán với Python

Đôi khi bạn chưa cài đặt mô-đun đó, vì vậy bạn phải cài đặt nó. Đôi khi, đó là một mô-đun viết sai chính tả hoặc đặt tên sai cách viết hoa hoặc sai đường dẫn. Trong bài viết này, tôi đã chỉ ra bốn cách khả thi để khắc phục lỗi này nếu bạn gặp phải.

Tôi hy vọng bạn đã học được từ nó 🙂



Zik.vn – Biên dịch & Biên soạn Lại

spot_img

Create a website from scratch

Just drag and drop elements in a page to get started with Newspaper Theme.

Buy Now ⟶

Bài viết liên quang

DMCA.com Protection Status