推荐学习书目
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 · Nov 25, 2016 · 4377 views
    This topic created in 3479 days ago, the information mentioned may be changed or developed.

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

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

    python版本是 3.5.2

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