Подтвердить что ты не робот

Что такое пакет python-dev, используемый для

Недавно я установил lxml.

До этого мне пришлось установить все зависимости для этого. Поэтому я попытался установить liblxml2-dev, liblxslt1-dev и python-dev (Google искал, какие пакеты необходимы для lxml)

но даже после этого я не смог установить lxml с помощью команды pip install lxml.

Однако, поскольку я использую Python 3.4.0, я думал, что может быть другая версия python-dev (мысль возникла из-за столкновения с проблемой аналогичной проблемы с версией). Поэтому я попытался установить python3-dev.

Затем я попытался установить lxml, используя ту же команду, что и раньше, и это сработало!!!

Как я новичок в этом. Поэтому я искал Google эти предложения и я смог понять смысл lxml и xslt. Я нашел ссылку для python-dev, но я не уверен, что она на самом деле делает.

Может ли кто-нибудь помочь:)

4b9b3361

Ответ 1

python-dev содержит файлы заголовков, необходимые для создания расширений Python. lxml - это расширение C-API Python, которое компилируется, когда вы выполняете pip install lxml. Источники lxml имеют хотя бы что-то вроде #include <Python.h> в коде. Компилятор ищет файл Python.h во время компиляции, поэтому эти файлы должны быть в вашей системе, чтобы их можно было найти. Обычно в Linux двоичные библиотеки и файлы заголовков пакетов, таких как python, являются отдельными. Следовательно, вы можете установить Python, и все работает нормально, но когда вы хотите создавать расширения, вам нужно установить соответствующий пакет dev.

Ответ 2

python-dev - это пакет, содержащий файлы заголовков для API Python C, который используется lxml, потому что он включает в себя расширения Python C для высокой производительности.

Ответ 3

python-dev содержит все необходимое для компиляции модулей расширения python (https://docs.python.org/2/extending/extending.html).

Обратите внимание, что Debian уже имеет пакет lxml для python 3 (упомянутый в http://lxml.de/installation.html); в общем, неплохо использовать упакованную версию. Я предлагаю pip uninstall lxml, а затем apt-get install python3-lxml.