如何修复lxml中移除的cssselect包问题?
他们把 lxml 里的 cssselect 包给删掉了……现在我的 Python 程序没法用了。我就是搞不明白怎么才能让它继续工作:
导入错误:cssselect 似乎没有安装。请查看 http://packages.python.org/cssselect/
我试着把 cssselect 目录复制到我的代码目录里——这样在编译字节码文件的时候错误解决了,但运行程序时,错误还是存在。
我试着重写我的 lxml.cssselect 命令,但没有效果。
我在网上搜索了很久,但还是没有找到答案。
现在我只有这一行:
from lxml.html import parse
而使用 cssselect 的代码是:
inner = html.xpath('//*[@id="Content..."]')
for b in inner:
...
for a in b.cssselect('p'):
...
那么,要么我该怎么导入它才能让原来的代码正常工作?我需要手动把它复制到某个地方吗?
要么我该怎么找到/替换代码才能让它运行?
(哦,还有一点,我当然已经安装了 lxml 和 cssselect 包)
2 个回答
5
我的解决办法是用pip3
来安装cssselect
这个库:
sudo pip3 install cssselect
14
问题出在cssselect的安装上。由于某种未知的原因,cssselect这个包被安装到了/root/.local/lib/python2.7/site-packages/这个位置,而不是/usr/local/lib/python2.7/dist-packages/。
在Debian GNU/Linux 7.4(wheezy,Linux 3.2.0-4-amd64 x86_64)上使用 pip install cssselect
安装了Cssselect。我也不确定是不是我自己打错了,还是系统的bug。
解决办法是先卸载cssselect,然后再重新安装。这次它安装到了正确的位置,一切又恢复正常了。根本不需要修改任何python代码。
谢谢你的回答;)