【发布时间】:2020-05-06 12:31:15
【问题描述】:
我创建了一个用于 tensorflow 的虚拟环境。我已按照here 的说明进行操作:
virtualenv --system-site-packages -p python3 ./venv
我已经安装了必要的模块,包括 beautiful soup 4 (bs4) 和 lxml using
pip install beautifulsoup4
pip install lxml
这似乎很成功。但是当我试图解析一个 xml 文件时,我收到一个错误,比如我还没有安装 lxml:
with open(path/to/xml.file)) as f:
soup = BeautifulSoup(f, 'xml')
bs4.FeatureNotFound:找不到具有这些功能的树生成器 您要求:xml。需要安装解析器库吗?
如果我尝试其他解析器按预期工作(或类似的东西):
soup = BeautifulSoup(f, 'html.parser')
似乎工作正常,而:
soup = BeautifulSoup(f, 'html5lib')
加载成功,但未正确读取 xml。不过这里不是问题。
由于某种原因,我的 lxml 安装似乎损坏了。
Pip 报告它已安装,但我无法将其卸载或降级到其他版本。例如:
pip uninstall lxml
找到现有安装:lxml 3.5.0
不在 /usr/lib/python3/dist-packages 卸载 lxml,外部环境 /home/xxxxx/tensorflow_1-15_GPU
无法卸载“lxml”。找不到要卸载的文件。
有没有人知道如何强制卸载 lxml 或至少解决问题?
我使用的是 Ubuntu 16.04、python 3.6、beautifulsoup4 4.4.1 和 lxml 3.5.0
编辑:
我最近切换到 python3.6,似乎我缺少一些库。尝试降级 lxml 报告(以及其他)错误:
pyconfig.h: 没有这样的文件或目录
这可能是我的模块损坏的原因。 python3.6我没有这样的文件。只有 python2.7 和 python3.5m(我想知道 3.5m 是什么)。
【问题讨论】:
-
安装
beautifulsoup4和lxml之前有没有激活虚拟环境?? -
是的,两者都安装在 venv 中
标签: python xml-parsing