lxml: Cannot import lxml.html.soupparser.fromstring, depends on outdated BeautifulSoup

来源:互联网 发布:中国股市现状 知乎 编辑:程序博客网 时间:2024/06/05 23:41

refer to: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=801476

When trying to perform the following with Python 3:  from lxml.html.soupparser import fromstringThe following error is raised:  Traceback (most recent call last):    File "<stdin>", line 1, in <module>    File "/usr/lib/python3/dist-packages/lxml/html/soupparser.py", line 7, in <module>      from BeautifulSoup import \  ImportError: No module named 'BeautifulSoup'According to StackOverflow <http://stackoverflow.com/q/14042023>, this isbecause the currently packaged version of python3-lxml depends on version 3 ofBeautifulSoup. However, Debian ships version 4 of that module (python3-bs4).According to the same source, recent lxml versions know how to use version 4 ofBeautifulSoup, see e.g.,<https://github.com/lxml/lxml/blob/master/src/lxml/html/soupparser.py>.

解决办法:

import sys, bs4sys.modules['BeautifulSoup'] = bs4from lxml.html.soupparser import fromstring


0 0
原创粉丝点击