代码:
from lxml.etree import HTML, XML
我得到了回溯:
Traceback (most recent call last):
File "/Users/username/code/project/lxml-test.py", line 3, in <module>
from lxml.etree import HTML, XML
ImportError: dlopen(/Users/username/.virtualenvs/project-venv/lib/python3.11/site-packages/lxml/etree.cpython-311-darwin.so, 0x0002):
symbol not found in flat namespace '_xsltDocDefaultLoader'
我用的是mac m1芯片。
我通过brew安装了libxml 2和libxslt。
我在虚拟环境中运行python 3.11。
我的尝试:
- 用pip卸载并重新安装lxml,并尝试了几个不同的版本。(4.7.1和4.8.0没有编译。所有的4.9.0,1,2版本都给予了上述错误)
- 通过brew安装libxml 2和libxslt,然后重新安装python-lxml。
- 通过conda安装python-lxml(as suggested here)
编辑:
我在lxml的bug报告论坛中发布了这个bug,并被告知这是一个高度重复的Missing wheel for macos with M1 Edit bug报告
2条答案
按热度按时间sczxawaw1#
最近,我在使用M1 Pro芯片的笔记本电脑上尝试在3. 9 Virtualenv中安装
python-docx
模块时遇到了类似的问题。这个答案帮助我解决了这个问题:Unable to install python-docx (MacOS)
基本上,您需要首先在virtualenv中安装带有pip的setuptools,然后尝试安装带有pip的lxml:
希望这能帮上忙。
jdgnovmf2#
我通过克隆lxml、构建它并通过安装它来解决这个问题