Thường gặp lỗi 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ó lại xuất hiện. Chúng tôi đưa ra ba giải pháp khả thi để giúp bạn khắc phục lỗi này
Tìm trận đấu Bootcamp của bạn
- Career Karma kết hợp bạn với các bootcamp công nghệ hàng đầu
- Truy cập học bổng độc quyền và các khóa học chuẩn bị
Tên
Họ
Điện thoại .
By continuing you agree to our Terms of Service and Privacy Policy, and you consent to receive offers and opportunities from Career Karma by telephone, text message, and email.
ModuleNotFoundError là gì?
Lỗi ModuleNotFoundError xuất hiện khi Python không thể nhập thành công 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 xảy ra khi bạn quên cài đặt phụ thuộc cho một dự án. Vì bạn chưa cài đặt phụ thuộc nên Python không biết tìm nó ở đâu
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 tệp tương đối khi làm như vậy không được phép
Kịch bản ví dụ. Phụ thuộc không được cài đặt
Hãy xem một tệp có tên ứng dụng. py sử dụng gói BeautifulSoup
from bs4 import BeautifulSoup url = "//careerkarma.com" print[url]
Hãy thử chạy tập tin 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”. Vì bs4 là gói bên ngoài nên nguyên nhân của lỗi này là do chúng tôi chưa 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
Ghi chú. Bạn nên đảm bảo rằng bạn sử dụng trình quản lý gói phù hợp để cài đặt mô-đun. Bạn không thể cài đặt mô-đun cho Python 3 bằng pip và 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
» THÊM. Lỗi kiểu Python. Đối tượng 'int' không thể đăng ký Giải pháp
Chạy lại mã của chúng tôi
//careerkarma.com
Mã của chúng tôi hoạt động
Kịch bản ví dụ. 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. đường dẫn, giống như một gói tích hợp. Nhập khẩu tương đối là nơi bạn nhập một cái gì đó có 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 được
Tiếp theo ta viết chương trình in danh sách các loại bánh ra màn hình console. Đầ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 “config. tập tin py
cake_list = ["Double Chocolate Gateau", "Victoria Sponge", "Lemon Cake"]
Tiếp theo, chúng tôi viết “chính. py” để in những chiếc bánh này ra bàn đ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 mình trong ứng dụng. py thực thi mô-đun của chúng tôi
________số 8
Đoạn mã này chạy hàm
from bs4 import BeautifulSoup url = "//careerkarma.com" print[url]2 bên trong “main. tập tin py. Chúng tôi nhập “main” và “config” để có thể truy cập chức năng
from bs4 import BeautifulSoup url = "//careerkarma.com" print[url]2 và danh sách các loại bánh của chúng tôi. Danh sách các loại bánh này được chuyển qua chức năng
from bs4 import BeautifulSoup url = "//careerkarma.com" print[url]2 của chúng tôi
Chạy mã của chúng tôi và xem điều gì sẽ xảy ra
from bs4 import BeautifulSoup url = "//careerkarma.com" print[url]2
Lỗi này xảy ra do chúng tôi chưa nhập tệp thành công
“chính” nằm trong mô-đun “bánh”. 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ì “chính. py” nằm trong thư mục “cakes”. Để truy cập mô-đun này, chúng ta cần nhập tương đối
from bs4 import BeautifulSoup url = "//careerkarma.com" print[url]0
Thay vì nhập trực tiếp "chính", chúng tôi nhập "chính" từ mô-đun "bánh". Hãy xem điều gì sẽ xảy ra khi chúng ta chạy lại mã của mình
from bs4 import BeautifulSoup url = "//careerkarma.com" print[url]1
Mã của chúng tôi in ra danh sách các loại bánh. Chúng tôi đã nhập "chính" từ "bánh" và giải quyết lỗi ModuleNotFoundError của chúng tôi
"Career Karma bước vào cuộc đời tôi khi tôi cần nó nhất và nhanh chóng giúp tôi phù hợp với bootcamp. Hai tháng sau khi tốt nghiệp, tôi đã tìm được công việc mơ ước phù hợp với giá trị và mục tiêu của mình trong cuộc sống. "
Venus, Kỹ sư phần mềm tại Rockbot
Find Your Bootcamp Match» THÊM. Lỗi cú pháp Python. đối số không mặc định theo sau đối số mặc định Giải pháp
Lưu ý rằng chúng tôi nhập trực tiếp mô-đun “config” vào mã của mình. Điều này là do “config” nằm trong cùng thư mục với chương trình mà chúng tôi đang thực thi
Phần kết luận
ModuleNotFoundError xuất hiện 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 rằng bạn đã cài đặt nó. Nếu bạn đang viết một mô-đun do người dùng định nghĩa, bạn phải kiểm tra kỹ 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 tệp một cách tương đối
Bây giờ bạn đã sẵn sàng để giải quyết lỗi ModuleNotFoundError Python như một chuyên gia
11 Xếp hạng
Về chúng tôi. Career Karma là một nền tảng được thiết kế để giúp người tìm việc tìm kiếm, nghiên cứu và kết nối với các chương trình đào tạo việc làm để thăng tiến trong sự nghiệp của họ. Tìm hiểu về ấn phẩm CK