Я не могу установить python-ldap

Когда я запускаю следующую команду:

sudo pip install python-ldap

Я получаю эту ошибку:

В файле, входящем в состав модулей /LDAPObject.c: 9:

Модули/errors.h: 8: фатальная ошибка: lber.h: Нет такого файла или каталога

Любые идеи, как это исправить?

Ответ 2

Чтобы успешно установить python-ldap с помощью pip, необходимы библиотеки разработки (имена пакетов, взятые из среды ubuntu):

sudo apt-get install -y python-dev libldap2-dev libsasl2-dev libssl-dev

Ответ 3

В CentOS/RHEL 6 вам необходимо установить:

sudo yum install python-devel
sudo yum install openldap-devel

и yum также установит cyrus-sasl-devel в качестве зависимости. Затем вы можете запустить:

pip-2.7 install python-ldap

Ответ 4

В Ubuntu это выглядит так:

 $ sudo apt-get install python-dev libldap2-dev libsasl2-dev libssl-dev
 $ sudo pip install python-ldap

Ответ 5

Windows: Я полностью согласен с принятым ответом, но копаться в комментариях потребовалось некоторое время, чтобы понять, что мне нужно. Я столкнулся с этой конкретной проблемой с Reviewboard на Windows, используя Bitnami. Чтобы дать ответ для окон, я использовал эту ссылку, упомянутую в комментариях:

Затем выполняются следующие команды

easy_install pip
pip install python_ldap-2.4.20-cp27-none_win32.whl

(потому что у меня был Python 2.7 и 32-битная установка)

easy_install python-ldap

Ответ 6

"Не слепо удаляйте/устанавливайте программное обеспечение"

В дистрибутиве, основанном на Ubuntu/Debian, вы можете использовать apt-file чтобы найти точное название пакета, включающего отсутствующий заголовочный файл.

# do this once
sudo apt-get install apt-file
sudo apt-file update

$ apt-file search lber.h
libldap2-dev: /usr/include/lber.h

Как вы можете видеть из результатов apt-file search lber.h, вам просто нужно установить пакет libldap2-dev.

sudo apt-get install libldap2-dev

Ответ 7

Для тех, у кого есть такая же проблема с отсутствием Iber.h на Alpine Linux, в изображении докеров, которое вы пытаетесь адаптировать к Alpine, например.

Пакет, который вы ищете, это: openldap-dev

Итак, запустите

apk add openldap-dev

Доступно с версии 3.3 до Edge

Доступно как для архитектуры armhf, так и для x86_64.

Ответ 8

В Fedora 22 вам нужно сделать это:

sudo dnf install python-devel
sudo dnf install openldap-devel

Ответ 9

В openSUSE вам необходимо установить пакеты openldap2-devel, cyrus-sasl-devel, python-devel и libopenssl-devel.

zypper install openldap2-devel cyrus-sasl-devel python-devel libopenssl-devel

Ответ 10

В OSX вам нужны инструменты CLI xcode. Просто откройте терминал и запустите:

xcode-select --install

Ответ 11

python3 не поддерживает python-ldap. Скорее для установки ldap3.

Ответ 12

Как общее решение для установки пакетов Python с бинарными зависимостями [1] на Debian/Ubuntu:

sudo apt-get build-dep python-ldap
# installs system dependencies (but not the package itself)
pew workon my_virtualenv # enter your virtualenv
pip install python-ldap

Вам нужно будет проверить имя вашего пакета Python на Ubuntu против PyPI. В этом случае они одинаковы.

Очевидно, не работает, если пакет Python не находится в репозиториях Ubuntu.

[1] Я узнал этот трюк при попытке pip install matplotlib на Ubuntu.

Ответ 13

В FreeBSD 11:

pkg install openldap-client # for lber.h
pkg install cyrus-sasl # if you need sasl.h
pip install python-ldap

Ответ 14

Для большинства систем требования к сборке теперь упоминаются в документации по python-ldap, в разделе "Установка".

Если что-то отсутствует в вашей системе (или ваша система отсутствует полностью), пожалуйста, сообщите об этом сопровождающему! (Начиная с 2018 года я являюсь сопровождающим, поэтому здесь должно быть достаточно комментария. Или вы можете отправить запрос на удаление или написать письмо).

Ответ 15

Если вы работаете с Windows-машинами, вы можете найти колесо "python-ldap" в этой ссылке, а затем установить его

Ответ 16

для тех, кто использует alphine linux, apk добавить openldap-dev

Ответ 17

Для альпийского докера

apk add openldap-dev

если версия Python 3 и выше, попробуйте

pip install python3-ldap