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

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 fromstring

The following error is raised:

  Traceback (most recent call last):
    File "", line 1, in 
    File "/usr/lib/python3/dist-packages/lxml/html/soupparser.py", line 7, in 
      from BeautifulSoup import \
  ImportError: No module named 'BeautifulSoup'

According to StackOverflow , this is
because the currently packaged version of python3-lxml depends on version 3 of
BeautifulSoup. However, Debian ships version 4 of that module (python3-bs4).
According to the same source, recent lxml versions know how to use version 4 of
BeautifulSoup, see e.g.,
.

解决办法:

import sys, bs4
sys.modules['BeautifulSoup'] = bs4

from lxml.html.soupparser import fromstring


你可能感兴趣的:(lxml: Cannot import lxml.html.soupparser.fromstring, depends on outdated BeautifulSoup)