3
    bash-3.2$ pip install lxml-2.3.5.tgz
    解压 ./lxml-2.3.5.tgz
      从 file:///Users/apple/workspace/pythonhome/misc/lxml-2.3.5.tgz 为包运行 setup.py egg_info
        构建 lxml 版本 2.3.5。
        使用 Cython 0.17 构建。
        使用 libxslt 1.1.27 的构建配置
        在以下目录中针对 libxml2/libxslt 构建:/usr/local/lib

        警告:未找到与“*.py”匹配的先前包含的文件
    安装收集的包:lxml
      为 lxml 运行 setup.py install
        构建 lxml 版本 2.3.5。
        使用 Cython 0.17 构建。
        使用 libxslt 1.1.27 的构建配置
        在以下目录中针对 libxml2/libxslt 构建:/usr/local/lib
        跳过 'src/lxml/lxml.etree.c' Cython 扩展(最新)
        构建“lxml.etree”扩展
        llvm-gcc-4.2 -fno-strict-aliasing -fno-common -dynamic -arch i386 -arch x86_64 -g -O2 -DNDEBUG -g -O3 -I/usr/local/include -I/usr/local/include/ libxml2 -I/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c src/lxml/lxml.etree.c -o build/temp.macosx-10.6-intel-2.7/src/lxml/ lxml.etree.o -w -flat_namespace
        llvm-gcc-4.2 -bundle -undefined dynamic_lookup -arch i386 -arch x86_64 -g build/temp.macosx-10.6-intel-2.7/src/lxml/lxml.etree.o -L/usr/local/lib -lxslt - lexslt -lxml2 -lz -lm -o build/lib.macosx-10.6-intel-2.7/lxml/etree.so
        跳过 'src/lxml/lxml.objectify.c' Cython 扩展(最新)
        构建“lxml.objectify”扩展
        llvm-gcc-4.2 -fno-strict-aliasing -fno-common -dynamic -arch i386 -arch x86_64 -g -O2 -DNDEBUG -g -O3 -I/usr/local/include -I/usr/local/include/ libxml2 -I/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c src/lxml/lxml.objectify.c -o build/temp.macosx-10.6-intel-2.7/src/lxml/ lxml.objectify.o -w -flat_namespace
        llvm-gcc-4.2 -bundle -undefined dynamic_lookup -arch i386 -arch x86_64 -g build/temp.macosx-10.6-intel-2.7/src/lxml/lxml.objectify.o -L/usr/local/lib -lxslt - lexslt -lxml2 -lz -lm -o build/lib.macosx-10.6-intel-2.7/lxml/objectify.so

    lxml安装成功
    打扫干净...
    bash-3.2$ 蟒蛇
    Python 2.7.3(v2.7.3:70274d53c1dd,2012 年 4 月 9 日,20:52:43)
    [GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] 在 darwin
    输入“帮助”、“版权”、“信用”或“许可”以获取更多信息。
    >>> 导入 lxml
    >>> 导入 html
    回溯(最近一次通话最后):
      文件“”,第 1 行,在
    ImportError:没有名为 html 的模块
    >>> 从 lxml 导入 html
    回溯(最近一次通话最后):
      文件“”,第 1 行,在
      文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/lxml/html/__init__.py”,第 12 行,在
        从 lxml 导入 etree
    ImportError:dlopen(/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/lxml/etree.so,2):找不到符号:_exsltDateXpathCtxtRegister
      引用自:/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/lxml/etree.so
      预期在:平面命名空间
     在 /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/lxml/etree.so

对于旧版本 lxml2.3.4 再次出现相同的错误

    bash-3.2$ pip install lxml-2.3.4.tgz
    解压 ./lxml-2.3.4.tgz
      从 file:///Users/apple/workspace/pythonhome/misc/lxml-2.3.4.tgz 为包运行 setup.py egg_info
        构建 lxml 版本 2.3.4。
        使用 Cython 0.17 构建。
        使用 libxslt 1.1.27 的构建配置
        在以下目录中针对 libxml2/libxslt 构建:/usr/local/lib

        警告:未找到与“*.py”匹配的先前包含的文件
    安装收集的包:lxml
      为 lxml 运行 setup.py install
        构建 lxml 版本 2.3.4。
        使用 Cython 0.17 构建。
        使用 libxslt 1.1.27 的构建配置
        在以下目录中针对 libxml2/libxslt 构建:/usr/local/lib
        跳过 'src/lxml/lxml.etree.c' Cython 扩展(最新)
        构建“lxml.etree”扩展
        llvm-gcc-4.2 -fno-strict-aliasing -fno-common -dynamic -arch i386 -arch x86_64 -g -O2 -DNDEBUG -g -O3 -I/usr/local/include -I/usr/local/include/ libxml2 -I/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c src/lxml/lxml.etree.c -o build/temp.macosx-10.6-intel-2.7/src/lxml/ lxml.etree.o -w -flat_namespace
        llvm-gcc-4.2 -bundle -undefined dynamic_lookup -arch i386 -arch x86_64 -g build/temp.macosx-10.6-intel-2.7/src/lxml/lxml.etree.o -L/usr/local/lib -lxslt - lexslt -lxml2 -lz -lm -o build/lib.macosx-10.6-intel-2.7/lxml/etree.so
        跳过 'src/lxml/lxml.objectify.c' Cython 扩展(最新)
        构建“lxml.objectify”扩展
        llvm-gcc-4.2 -fno-strict-aliasing -fno-common -dynamic -arch i386 -arch x86_64 -g -O2 -DNDEBUG -g -O3 -I/usr/local/include -I/usr/local/include/ libxml2 -I/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c src/lxml/lxml.objectify.c -o build/temp.macosx-10.6-intel-2.7/src/lxml/ lxml.objectify.o -w -flat_namespace
        llvm-gcc-4.2 -bundle -undefined dynamic_lookup -arch i386 -arch x86_64 -g build/temp.macosx-10.6-intel-2.7/src/lxml/lxml.objectify.o -L/usr/local/lib -lxslt - lexslt -lxml2 -lz -lm -o build/lib.macosx-10.6-intel-2.7/lxml/objectify.so

    lxml安装成功
    打扫干净...
    bash-3.2$ 蟒蛇
    Python 2.7.3(v2.7.3:70274d53c1dd,2012 年 4 月 9 日,20:52:43)
    [GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] 在 darwin
    输入“帮助”、“版权”、“信用”或“许可”以获取更多信息。
    >>> 导入操作系统
    >>> 导入 lxml
    >>> 从 lxml 导入 etree
    回溯(最近一次通话最后):
      文件“”,第 1 行,在
    ImportError:dlopen(/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/lxml/etree.so,2):找不到符号:_exsltDateXpathCtxtRegister
      引用自:/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/lxml/etree.so
      预期在:平面命名空间
     在 /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/lxml/etree.so

4

2 回答 2

0

另请参阅将 lxml.etree 导入到 python 时出现错误

我认为这里的关键错误是:

ImportError: dlopen(/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/lxml/etree.so, 2): Symbol not found: _exsltDateXpathCtxtRegister

在 lxml dev list 上发现了另一个有同样问题的人

他们的建议:

您可能需要检查您的 libxml/libxslt 库。确保您具有lxml 安装说明中所需的版本

从运行开始

ldd /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/lxml/etree.so

这将显示您是否有任何未解析的共享库。您可能需要安装/更新一些软件包。

检查上面链接的线程以获取更多故障排除提示。

于 2013-02-15T16:38:44.643 回答
0

嘿,我尝试过使用 Conda 环境并且它有效。默认的 venv 似乎在 M1 芯片上运行得非常糟糕。

您必须通过以下命令进行安装:

conda install -c conda-forge requests-html
于 2021-11-14T09:42:29.867 回答