Lxml не удается импортировать с ошибкой "символ не найден в плоском пространстве имен" _xsltDocDefaultLoader'`

С кодом:

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.

Я установил libxml2 и libxslt через brew.

Я запускаю python 3.11 внутри virtualenv.

Что я пробовал:

  • Удаление и повторная установка lxml с помощью pip, а также несколько разных версий. (4.7.1 и 4.8.0 не скомпилировались. Все версии 4.9.0,1,2 выдают указанную выше ошибку)
  • Установка libxml2 и libxslt через brew, а затем переустановка python-lxml.
  • Установка python-lxml через conda (как предложено здесь)

Обновлено:

Я разместил эту ошибку на форуме отчетов об ошибках lxml и был уведомлен, что это сильно дублированный отчет об ошибке Отсутствует колесо для macos с M1 Edit

Библиотека для работы с мороженым
Библиотека для работы с мороженым
Лично я попрощался с операторами print() в python. Без шуток.
Эмиссия счетов-фактур с помощью Telegram - Python RPA (BotCity)
Эмиссия счетов-фактур с помощью Telegram - Python RPA (BotCity)
Привет, люди RPA, это снова я и я несу подарки! В очередном моем приключении о том, как создавать ботов для облегчения рутины. Вот, думаю, стоит...
Пошаговое руководство по созданию собственного Slackbot: От установки до развертывания
Пошаговое руководство по созданию собственного Slackbot: От установки до развертывания
Шаг 1: Создание приложения Slack Чтобы создать Slackbot, вам необходимо создать приложение Slack. Войдите в свою учетную запись Slack и перейдите на...
Учебник по веб-скрапингу
Учебник по веб-скрапингу
Привет, ребята... В этот раз мы поговорим о веб-скрейпинге. Целью этого обсуждения будет узнать и понять, что такое веб-скрейпинг, а также узнать, как...
Тонкая настройка GPT-3 с помощью Anaconda
Тонкая настройка GPT-3 с помощью Anaconda
Зарегистрируйте аккаунт Open ai, а затем получите ключ API ниже.
Learning Data Analytics Two: Filtering data in a DataFrame.
Learning Data Analytics Two: Filtering data in a DataFrame.
В Learning Data Analytics One: Using Python and Pandas , я рассказываю о:
0
0
53
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Недавно я столкнулся с похожей проблемой, пытаясь установить модуль python-docx в виртуальную среду 3.9 на свой ноутбук с чипом M1 Pro.

Этот ответ помог решить мою проблему: Невозможно установить python-docx (MacOS)

По сути, вам нужно сначала установить setuptools с помощью pip в вашем virtualenv, а затем попытаться установить lxml с помощью pip:

pip install -U setuptools

Надеюсь, это поможет.

Спасибо за ответ, но это, к сожалению, не сработало для меня. Это хорошо знать!

Civilian 19.02.2023 06:17
Ответ принят как подходящий

Я решил свою проблему, клонировав lxml, создав его и установив через

pip install -e /path/to/lxml

Другие вопросы по теме

Python и Starlette: выполнение длинной асинхронной задачи
Как выполнить разделение строк, используя регулярное выражение в качестве ссылки, и чтобы часть используемого шаблона разделителя не удалялась из следующей строки?
Как правильно повернуть фрейм данных, чтобы значения первого столбца были моими новыми столбцами?
Дочерний класс из объекта MagicMock имеет странную спецификацию = 'str' и не может использовать или имитировать методы класса
Создать новый столбец на основе количества других столбцов
Как я могу добавить элемент в список из файла JSON в Python?
Почему я получаю сообщение об ошибке при использовании декоратора с моей функцией факториала?
Получение ключа для заданного значения из словаря, состоящего из нескольких массивов
Как сделать несколько условий python в одном выражении
Удалить элементы из списка, которые меньше значения допуска в Python