ImportError: Không có Module nào được đặt tên bs4 (BeautifulSoup)


139

Tôi đang làm việc với Python và sử dụng Flask. Khi tôi chạy tệp Python chính trên máy tính của mình, nó hoạt động hoàn hảo, nhưng khi tôi kích hoạt venv và chạy tệp Flask Python trong thiết bị đầu cuối, nó nói rằng tệp Python chính của tôi có "Không có Mô-đun được đặt tên bs4." Bất kỳ ý kiến ​​hoặc lời khuyên được đánh giá rất cao.


3
... bạn đã cài đặt bs4 trong virtualenv chưa?
Colin Dunklau

1
không, tôi đang chạy Ubuntu và đã sử dụng "easy_install beautifulsoup4"
harryt

Câu trả lời:


216

Kích hoạt virtualenv, sau đó cài đặt BeautifulSoup4:

$ pip install BeautifulSoup4

Khi bạn cài đặt bs4với easy_install, bạn cài đặt nó trên toàn hệ thống. Vì vậy, python hệ thống của bạn có thể nhập nó, nhưng không phải python virtualenv của bạn. Nếu bạn không cần phải bs4cài đặt trong đường dẫn python hệ thống của bạn, hãy gỡ cài đặt nó và giữ nó trong virtualenv của bạn.

Để biết thêm thông tin về virtualenvs, hãy đọc


4
Hãy tưởng tượng (ví dụ vì lợi ích) rằng bạn đang làm việc trong một dự án đòi hỏi một phiên bản cụ thể của mô-đun. Bạn cũng có thể đang làm việc trên một dự án khác, yêu cầu một phiên bản khác của mô-đun này. Nếu mỗi dự án được đặt trong virtualenvs, bạn sẽ có hai môi trường python hoàn toàn độc lập, thay vì có một môi trường python hệ thống với hai phiên bản của cùng một mô-đun. Giữ cho hệ thống của bạn sạch sẽ. Làm việc trong virtualenvs.
Balthazar Rouberol

1
Tôi không thể cài đặt, nhận được lỗi locale.Error: unsupported locale settingBạn có ý tưởng gì không?
coderInrRain

Tôi thực sự không thể đoán được nếu không có dấu vết, nhưng hãy xem stackoverflow.com/questions/14547631/
Kẻ

Cũng cần nhớ rằng nếu bạn đang sử dụng venv, bạn phải sử dụng nhị phân python từ venv đó . /usr/bin/python(trên hệ điều hành Mac) là sai; nó nên là<your path to your venv>/bin/python
joemadeus

Tôi đã phải thoát () Python để cài đặt PIP hoạt động :)
Eoin

54

Đối với python2.x :

sudo pip install BeautifulSoup4

Đối với python3 :

sudo apt-get install python3-bs4

3
Các trang web chính thức crummy.comkhông cung cấp python3-bs4tên gói.
Suraj

1
cho python 3 quá sudo pip install BeautifulSoup4hoạt động
ishandutta2007

13

Chỉ cần gắn thẻ vào câu trả lời của Balthazar. Đang chạy

pip install BeautifulSoup4

đã không làm việc cho tôi. Thay vào đó hãy sử dụng

pip install beautifulsoup4


5

Nếu bạn đang sử dụng Anaconda để quản lý gói, nên làm như sau:

conda install -c anaconda beautifulsoup4


1
Tùy chọn "-c anaconda" là mặc định, vì vậy "conda install beautifulsoup4" cũng làm như vậy và dễ dàng hơn để ghi nhớ :-)
PatrickT

5

Nếu bạn sử dụng Pycharm , hãy đến preferences - project interpreter - install bs4.

Nếu bạn cố gắng cài đặt BeautifulSoup , nó vẫn sẽ hiển thị rằng không có mô-đun nào được đặt tên bs4.


4

Tôi sẽ khuyên bạn nên gỡ cài đặt thư viện bs4 bằng cách sử dụng lệnh này:

gỡ cài đặt pip bs4

và sau đó cài đặt nó bằng lệnh này:

sudo apt-get cài đặt python3-bs4

Tôi đã gặp phải vấn đề tương tự trong Ubuntu Linux của tôi khi tôi sử dụng lệnh sau để cài đặt thư viện bs4:

cài đặt pip bs4





1

Tôi đã làm những gì @ rayid-ali nói, ngoại trừ tôi đang dùng máy Windows 10 nên tôi đã bỏ qua sudo. Đó là, tôi đã làm như sau:

python3 -m pip install bs4

và nó hoạt động như một pycharm. Làm việc như một bùa mê nào.


0

Đơn giản nhất là sử dụng easy_install.

easy_install bs4 

Nó sẽ hoạt động nếu pip thất bại.


0

Rất nhiều hướng dẫn / tài liệu tham khảo đã được viết cho Python 2 và bảo bạn sử dụng somename cài đặt pip. Nếu bạn đang sử dụng Python 3, bạn muốn thay đổi điều đó thành somename cài đặt pip3.


0

Bạn có thể muốn thử cài đặt bs4 với

pip install --ignore-installed BeautifulSoup4

nếu các phương pháp trên không hiệu quả với bạn.


0

Hãy thử cài đặt lại mô-đun HOẶC Thử cài đặt với súp đẹp bằng lệnh dưới đây

pip install --ignore-installed BeautifulSoup4
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.