$ virtualenv test
$ source test/bin/activate
$ pip3 install beautifulsoup4
现在脚本test.py
import urllib.request
import sys
import unittest, time, re
import requests
from bs4 import BeautifulSoup
class Sel(unittest.TestCase):
def setUp(self):
self.base_url = "file:///Users/ishandutta2007/Desktop/cars/cars-price-list.html"
def test_sel(self):
with urllib.request.urlopen(self.base_url) as url:
html_source = url.read()
data = html_source#.encode('utf-8')
parsed_html = BeautifulSoup(data, 'html.parser')
if __name__ == "__main__":
unittest.main()
当我运行$python3 test.py
文件" test.py",第6行,in 来自bs4 import BeautifulSoup ModuleNotFoundError:没有名为' bs4'
的模块
然后尝试
from beautifulsoup4 import BeautifulSoup
文件" test.py",第6行,in 来自beautifulsoup4 import BeautifulSoup ModuleNotFoundError:没有名为' beautifulsoup4'
的模块
要求清楚地显示了两者
$ pip3 freeze > requirements.txt
$ cat requirements.txt
beautifulsoup4==4.6.0
certifi==2018.1.18
chardet==3.0.4
idna==2.6
requests==2.18.4
urllib3==1.22
答案 0 :(得分:1)
仅安装BeautifulSoup4
而不是bs4
和BeautifulSoup
,然后
执行此操作:
from bs4 import BeautifulSoup
答案 1 :(得分:0)
我会这样做是为了解决这个问题:
在您创建的虚拟环境下的所有这些
$ wget https://pypi.python.org/pypi/beautifulsoup4
$ pip3 install beautifulsoup4-4.6.0-py3-none-any.whl
$ pip3 freeze |grep beautifulsoup4
$ python3
>>> from bs4 import BeautifulSoup
答案 2 :(得分:0)
看起来你不在正确的地方; cd测试然后再试一次。
问题在于:Python使用PYTHONPATH环境变量来查找包,默认情况下包含当前目录。但是,BeautifulSoup4包安装在测试目录下。如果从测试目录启动Python ,它应该能够找到它。
答案 3 :(得分:0)
发现问题,virtualenv安装了python2.7,
pip3 install virtualenv
解决了这个问题。
答案 4 :(得分:0)
我所做的是从thebeautifulsoup4-4.8.0.dist-info
删除bs4
和C:\Users\User\Anaconda3\Lib\site-packages
文件夹,然后在命令提示符下再次执行pip install beautifulsoup4
。
它对我有用。
答案 5 :(得分:0)
尝试从beautifulsoup4替换为import BeautifulSoup 在
from bs4 import BeautifulSoup
对我有用。