【问题标题】:Getting "Could not find function xmlCheckVersion in library libxml2. Is libxml2 installed?" when installing lxml through pip获取“在库 libxml2 中找不到函数 xmlCheckVersion。是否安装了 libxml2?”通过 pip 安装 lxml 时
【发布时间】:2016-02-20 12:35:58
【问题描述】:

我在尝试通过 pip 安装 lxml 时收到错误 Could not find function xmlCheckVersion in library libxml2. Is libxml2 installed?

  c:\users\f\appdata\local\temp\xmlXPathInitqjzysz.c(1) : fatal error C1083: Cannot open include file: 'libxml/xpath.h': No such file or directory
  *********************************************************************************
  Could not find function xmlCheckVersion in library libxml2. Is libxml2 installed?
  *********************************************************************************
  error: command 'C:\\Users\\f\\AppData\\Local\\Programs\\Common\\Microsoft\\Visual C++ for Python\\9.0\\VC\\Bin\\cl.exe' failed with exit status 2

我没有找到要通过 pip 安装的任何 libxml2 开发包。

在 Windows 10 下的 virtualenv 中在 x86 上使用 Python 2.7 和 Python 3.x。

【问题讨论】:

    标签: python


    【解决方案1】:

    我遇到了这个问题,并意识到虽然我确实安装了 libxml2,但我没有 python 包所需的必要开发库。安装它们解决了问题:

    sudo apt-get install libxml2-dev libxslt1-dev
    sudo pip install lxml
    

    【讨论】:

    • 请通读 OPs 内容。他在一台 Windows 机器上做这个!
    • 使用 pip 时 linux 的正确解决方案
    • Fedora 23: dnf install libxml2-develdnf install libxslt-devel
    • @Metahuman 使用 Cygwin 安装程序安装相同的包解决了我在 Windows 10 上的问题。
    • Centos 7sudo yum install libxml2-devel libxslt-devel(python-docx 模块需要)
    【解决方案2】:

    http://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml 为您的python 版本安装lxml。这是一个预编译的 WHL,带有所需的模块/依赖项。

    该网站列出了几个包,例如使用 Win32 Python 3.9,使用lxml‑4.5.2‑cp39‑cp39‑win32.whl

    下载文件,然后安装:

    pip install C:\path\to\downloaded\file\lxml‑4.5.2‑cp39‑cp39‑win32.whl
    

    【讨论】:

    • @user151496 - yum install libxml2-devel libxslt-devel 为我做了这个。 stackoverflow.com/questions/26884514/…
    • 迄今为止 Windows 的最佳答案。
    • 您也可以使用这个更通用的命令进行安装:pip install --use-wheel --find-links=C:\path\to\folder\with\wheel lxml
    • 那个链接救了我很多次 :-) 因为那里有很多轮子。
    • 帮助很大。我需要做的另一件小事:它无法安装在我的虚拟环境中(不支持轮子)。最终我将它安装在我的常规 python (c:\program files x86...) 上并将python27\lib\site-packages\lxml* 文件夹复制到虚拟环境。
    【解决方案3】:

    尝试使用:
    easy_install lxml
    这对我有用,win10,python 2.7。

    【讨论】:

    • 对 lxml 使用简易安装命令时会抛出相同的错误
    • 曾经为我工作,但现在有了新的 lxml 版本,这不再工作了。
    【解决方案4】:

    在 Mac OS X El Capitan 上,我必须运行这两个命令来修复此错误:

    xcode-select --install
    pip install lxml
    

    最终安装了 lxml-3.5.0

    当您运行 xcode-select 命令时,您可能需要签署 EULA(如果您在无头机器上执行此操作,请为 UI 准备一个 X-Term)。

    【讨论】:

    • 是的,这在 OS X El Capitan 中对我有用。实际上,如果您向上滚动屏幕以查看错误的根本原因,那里会出现一行字“Perhaps try: xcode-select --install”
    • 这修复了它,并且有一行确实暗示了上面的评论!
    • 有没有其他人觉得他们以前跑过xcode-select --install?是否对第一次或第二次这样做有任何反省?需要说明的是,虽然我不必全局安装 lxml 以使其在虚拟环境中工作,但至少是这样。
    【解决方案5】:

    如果其他人遇到与此相同的问题

    Centos,试试:

    yum install python-lxml
    

    Ubuntu

    sudo apt-get install -y python-lxml
    

    为我工作。

    【讨论】:

      【解决方案6】:
      set STATICBUILD=true && pip install lxml
      

      改为运行此命令,必须先安装 VS C++ 编译器

      https://blogs.msdn.microsoft.com/pythonengineering/2016/04/11/unable-to-find-vcvarsall-bat/

      它适用于 Python 3.5.2 和 Windows 7

      【讨论】:

      • 我安装了vc2017,试试你的答案。
      【解决方案7】:

      我尝试安装一个依赖 lxml 的库,但没有任何效果。我在构建开始时看到一条消息:“Building without Cython”,所以在安装 cythonapt-get install cython 之后,安装了 lxml

      【讨论】:

        【解决方案8】:

        上面的解决方案都没有出现对我来说并不奇怪,但是我看到igd安装如何删除新版本并安装旧版本,对于解决方案我下载了这个存档:https://pypi.org/project/igd/#files

        并更改了新版本的推荐版本:setup.py中的'lxml==4.3.0' 有效!

        【讨论】:

          【解决方案9】:

          对于 python 32 位,我遇到了同样的错误。安装64位后,问题解决了。

          【讨论】:

            【解决方案10】:

            我遇到了这个问题,并意识到虽然我确实安装了 libxml2,但我没有 python 包所需的必要开发库。

            1) 安装它们解决了问题:

            下载文件的站点Download

            2) 安装文件后将其保存在可访问的文件夹中

            pip install *path to that file*
            

            【讨论】:

            • 这似乎不包括接受的答案。
            【解决方案11】:

            我正在使用venv

            就我而言,将lxml==4.6.3 添加到requirements.txt 就足够了。

            一个库想要更早的版本,这导致了这个错误,所以当我强制 pip 使用最新版本(当前为 4.6.3)时,安装成功。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2015-08-10
              • 2022-11-27
              • 2021-09-16
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多