V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
Ginson
V2EX  ›  Python

楼主走投无路了,请问 BeautifulSoup 种是用 lxml 的正确姿势?

  •  
  •   Ginson · 2016-11-25 22:11:21 +08:00 · 3714 次点击
    这是一个创建于 2937 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近用在用 BeautifulSoup ,想安装其官方推荐的 html 解析器
    lxml 安装很顺利,但是使用时报错,报错信息如下
    报错信息

    我到 BeautifulSoup 文档里面没有找到如何使用的信息,在 lxml 官网也没找到答案,只能腆着脸来 V2 问了
    请大家指教

    python版本是 3.5.2

    16 条回复    2016-11-29 17:05:12 +08:00
    janstk
        1
    janstk  
       2016-11-25 22:14:04 +08:00 via iPad
    python3 python2 。?
    Ginson
        2
    Ginson  
    OP
       2016-11-25 22:15:14 +08:00
    @janstk python 版本是 3.5.2
    Zzzzzzzzz
        3
    Zzzzzzzzz  
       2016-11-25 22:20:21 +08:00
    错一是装的是 python2 的 lxml, 而跑的是 python3, 装 python3 版的是 python3-lxml
    错二是跑的是 virtualenv 创建的环境, virtualenv 默认创建的环境不会用到 apt 安装的系统级的三方包, 你该 pip install lxml
    jimzhong
        4
    jimzhong  
       2016-11-25 22:23:55 +08:00
    推荐使用 virtualenv
    neo1218
        5
    neo1218  
       2016-11-25 22:28:20 +08:00
    我 pip install lxml==3.4.2 是好的
    Ginson
        6
    Ginson  
    OP
       2016-11-25 22:38:06 +08:00
    @Zzzzzzzzz 我按您说的,在虚拟环境内 pip install lxml
    但是出现一大堆报错,其中有一条似乎是说我 libxml2 没安装
    但是我有安装的…难道是因为我在 virtualenv 的问题?
    Ginson
        7
    Ginson  
    OP
       2016-11-25 22:39:07 +08:00
    @jimzhong 感谢建议,我用的就是 virtualenv
    你看我命令提示符前面有个 py3env ,表示我正在 virtualenv 中
    Ginson
        8
    Ginson  
    OP
       2016-11-25 22:39:48 +08:00
    @neo1218 难道是我相关依赖没装全吗? gcc make 什么的我都装了啊
    Zzzzzzzzz
        9
    Zzzzzzzzz  
       2016-11-25 22:43:40 +08:00   ❤️ 1
    @Ginson apt 装 libxml2-dev libxslt1-dev
    Ginson
        10
    Ginson  
    OP
       2016-11-25 22:46:01 +08:00
    @Zzzzzzzzz 谢谢!
    装了这两个再 pip install lxml 就成功了!
    jimzhong
        11
    jimzhong  
       2016-11-25 23:05:35 +08:00
    @Ginson 没注意到。如果你用了 venv 就不应该使用系统的 apt 安装包
    Ginson
        12
    Ginson  
    OP
       2016-11-25 23:06:48 +08:00
    @jimzhong 其实我一直很懵逼,哪些应该用 pip 安装,哪些应该用 apt-get 安装
    jimzhong
        13
    jimzhong  
       2016-11-25 23:10:06 +08:00
    @Ginson 用了 venv 就全部用 pip 吧,或者自己下载 tar.gz ,用 python setup.py install
    apt 装的包 venv 是不会用的
    tulongtou
        14
    tulongtou  
       2016-11-26 12:10:26 +08:00 via iPhone
    @Ginson 那你需要装 libxml2
    Ginson
        15
    Ginson  
    OP
       2016-11-29 17:00:05 +08:00
    日了狗,今天在公司电脑上用同样的方法又不行
    为什么总是要困在这种问题上…
    Ginson
        16
    Ginson  
    OP
       2016-11-29 17:05:12 +08:00
    原来还需要 sudo apt-get install zlib1g-dev
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4949 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 08:10 · PVG 16:10 · LAX 00:10 · JFK 03:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.