Hướng dẫn module not found error python - lỗi không tìm thấy mô-đun python

Các mô -đun là không thể thiếu đối với ngôn ngữ Python. Các mô -đun cho phép bạn chia mã của mình thành nhiều tệp. Điều này giúp duy trì khả năng đọc và khả năng bảo trì của một cơ sở mã.

Nó phổ biến để gặp một ModulenotFounderror khi làm việc với các mô -đun. Trong hướng dẫn này, chúng tôi nói về ý nghĩa của lỗi này và tại sao nó được nêu ra. Chúng tôi đi qua ba giải pháp khả thi để giúp bạn vượt qua lỗi này.

Hướng dẫn module not found error python - lỗi không tìm thấy mô-đun python

Tìm Bootcamp của bạn phù hợp

  • Karma nghề nghiệp phù hợp với bạn với bootcamp công nghệ hàng đầu
  • Truy cập các học bổng và khóa học chuẩn bị độc quyền

Chọn mối quan tâm của bạn họ Tên điện thoại Email Tên của bạn
First name

Last name

Email

Phone number

Bằng cách tiếp tục, bạn đồng ý với các điều khoản dịch vụ và chính sách quyền riêng tư của chúng tôi và bạn đồng ý nhận được các ưu đãi và cơ hội từ Karma nghề nghiệp qua điện thoại, tin nhắn văn bản và email.

ModulenotFounderror là gì?

Một modulenotfounderror được nâng lên khi Python không thể nhập thành công một mô -đun.

Thông báo lỗi đầy đủ trông giống như thế này:

ModuleNotFoundError: No module named 'your_module_name'

Lỗi này gặp phải khi bạn quên cài đặt một phụ thuộc cho một dự án. Bởi vì bạn đã cài đặt sự phụ thuộc, Python không biết nơi để định vị nó.

ModulenotFounderrors xuất hiện trong các mô-đun do người dùng xác định. Thông thường, lỗi này là do nhập các tệp tương đối khi không được phép.

Kịch bản ví dụ: Không được cài đặt phụ thuộc

Hãy xem một tệp có tên app.py sử dụng gói đẹp:

from bs4 import BeautifulSoup

url = "https://careerkarma.com"

print(url)

Hãy để cố gắng chạy tệp này:

Traceback (most recent call last):
  File "app.py", line 1, in 
	from bs4 import BeautifulSoup
ModuleNotFoundError: No module named 'bs4'

Có vẻ như Python 3 không thể tìm thấy mô -đun BS4. Bởi vì BS4 là một gói bên ngoài, nguyên nhân của lỗi này phải là chúng tôi đã cài đặt mô -đun.

Để giải quyết lỗi này, chúng tôi cài đặt mô -đun BS4:

pip3 install BeautifulSoup4

Mã này cài đặt mô -đun cần thiết cho dự án của chúng tôi.

Lưu ý: Bạn nên đảm bảo bạn sử dụng đúng Trình quản lý gói để cài đặt mô -đun. Bạn không thể cài đặt các mô -đun cho Python 3 bằng PIP và các mô -đun cho Python 2 bằng PIP3. Nếu bạn làm như vậy, trình thông dịch Python có thể không nhận ra rằng bạn đã cài đặt một mô -đun.Python 3 using pip and modules for Python 2 using pip3. If you do, the Python interpreter may not recognize that you have installed a module.

Chạy lại mã của chúng tôi:

Mã của chúng tôi hoạt động!

Kịch bản ví dụ: Các mô-đun do người dùng xác định

Có hai loại nhập khẩu trong Python: Tuyệt đối và tương đối.

Nhập khẩu tuyệt đối là nơi bạn nhập một cái gì đó trên sys.path, giống như gói tích hợp. Nhập khẩu tương đối là nơi bạn nhập khẩu một cái gì đó liên quan đến chương trình mà bạn đang viết.

Nhập khẩu tương đối phải là một phần của gói nếu không chúng không thể chạy.

Tiếp theo, chúng tôi viết một chương trình in một danh sách các loại bánh vào bảng điều khiển. Đầu tiên, chúng tôi tạo một cấu trúc thư mục cho dự án của chúng tôi:

app.py
config.py
cakes/
	main.py

Chúng tôi bắt đầu bằng cách khai báo một danh sách các loại bánh trong tệp Config.py của chúng tôi:

cake_list = ["Double Chocolate Gateau", "Victoria Sponge", "Lemon Cake"]

Tiếp theo, chúng tôi viết tệp Main Main.py của chúng tôi, in những chiếc bánh này vào bảng điều khiển:

def print_cakes(cakes):
	for c in cakes:
		print(c)

Cuối cùng, chúng tôi viết chương trình chính của chúng tôi trong app.py thực hiện mô -đun của chúng tôi:

import main
import config

main.print_cakes(config.cake_list)

Mã này chạy chức năng

from bs4 import BeautifulSoup

url = "https://careerkarma.com"

print(url)
1 bên trong tệp Main Main.py. Chúng tôi nhập khẩu chính và cấu hình trực tuyến để chúng tôi có thể truy cập vào chức năng
from bs4 import BeautifulSoup

url = "https://careerkarma.com"

print(url)
1 và danh sách bánh của chúng tôi. Danh sách bánh này được truyền qua chức năng
from bs4 import BeautifulSoup

url = "https://careerkarma.com"

print(url)
1 của chúng tôi.

Chạy mã của chúng tôi và xem điều gì sẽ xảy ra:

Traceback (most recent call last):
  File "app.py", line 2, in 
	import config
ModuleNotFoundError: No module named 'config'

Lỗi này xảy ra vì chúng tôi chưa nhập tệp của mình thành công.

Main Main là trong các mô -đun Cake Cakes. Nó không có trong thư mục làm việc hiện tại của chúng tôi. Chúng tôi biết điều này bởi vì Main Main.py, có trong thư mục Cakes Cakes. Để truy cập mô -đun này, chúng tôi cần nhập tương đối:

from cakes import main
import config

main.print_cakes(config.cake_list)

Thay vì nhập trực tiếp trực tiếp, chúng tôi nhập khẩu chính từ mô -đun của Cakes Cakes. Hãy để xem những gì xảy ra khi chúng ta chạy lại mã của mình:

from bs4 import BeautifulSoup

url = "https://careerkarma.com"

print(url)
0

Mã của chúng tôi in ra danh sách các loại bánh. Chúng tôi đã nhập khẩu Main Main từ các loại bánh ngọt và giải quyết lỗi ModulenotFounderror của chúng tôi.

Hướng dẫn module not found error python - lỗi không tìm thấy mô-đun python

"Karma nghề nghiệp bước vào cuộc sống của tôi khi tôi cần nó nhất và nhanh chóng giúp tôi kết hợp với bootcamp. Hai tháng sau khi tốt nghiệp, tôi tìm thấy công việc mơ ước của mình phù hợp với các giá trị và mục tiêu của tôi trong cuộc sống!"

Sao Kim, Kỹ sư phần mềm tại Rockbot

Lưu ý rằng chúng tôi nhập mô -đun cấu hình trực tiếp vào mã trực tiếp vào mã của chúng tôi. Điều này là do cấu hình trên mạng có cùng thư mục với chương trình mà chúng tôi đang thực hiện.

Sự kết luận

ModulenotFounderRor được nêu ra khi Python không thể xác định lỗi. Nguyên nhân phổ biến nhất của lỗi này là quên cài đặt mô -đun hoặc nhập mô -đun không chính xác.

Nếu bạn đang làm việc với một mô -đun bên ngoài, bạn phải kiểm tra để đảm bảo bạn đã cài đặt nó. Nếu bạn đang viết một mô-đun do người dùng xác định, bạn phải kiểm tra lại các câu lệnh nhập của mình và đảm bảo rằng tất cả chúng đều nhập các tệp tương đối.

Bây giờ bạn đã sẵn sàng để giải quyết lỗi Python ModulenotFounderror như một chuyên gia!

Một mô -đun không tìm thấy lỗi là gì?

Lỗi 'mô -đun không tìm thấy' là lỗi cú pháp xuất hiện khi câu lệnh nhập tĩnh không thể tìm thấy tệp ở đường dẫn được khai báo.Lỗi cú pháp phổ biến này được gây ra bởi sự không nhất quán lưu trữ chữ cái có trong (các) tên tệp của bạn giữa kho lưu trữ và máy cục bộ của bạn hoặc cả hai.a syntax error that appears when the static import statement cannot find the file at the declared path. This common syntax error is caused by letter-casing inconsistencies that are present in your filename(s) between your repository and local machine, or both.

Tại sao Python không tìm thấy mô -đun?

Điều này được gây ra bởi thực tế là phiên bản Python mà bạn đang chạy tập lệnh của mình không được cấu hình để tìm kiếm các mô -đun nơi bạn đã cài đặt chúng.Điều này xảy ra khi bạn sử dụng cài đặt sai của PIP để cài đặt các gói.the version of Python you're running your script with is not configured to search for modules where you've installed them. This happens when you use the wrong installation of pip to install packages.

Tại sao tôi gặp lỗi nhập trong Python?

Trong Python, nhà nhập khẩu xảy ra khi chương trình Python cố gắng nhập mô -đun không tồn tại trong bảng riêng.Ngoại lệ này có thể tránh được bằng cách sử dụng xử lý ngoại lệ bằng cách sử dụng thử và ngoại trừ các khối.when the Python program tries to import module which does not exist in the private table. This exception can be avoided using exception handling using try and except blocks.