Ответ 1
Debian/Ubuntu
sudo apt-get install libsasl2-dev python-dev libldap2-dev libssl-dev
RedHat/CentOS
sudo yum install python-devel openldap-devel
Когда я запускаю следующую команду:
sudo pip install python-ldap
Я получаю эту ошибку:
В файле, входящем в состав модулей /LDAPObject.c: 9:
Модули/errors.h: 8: фатальная ошибка: lber.h: Нет такого файла или каталога
Любые идеи, как это исправить?
Debian/Ubuntu
sudo apt-get install libsasl2-dev python-dev libldap2-dev libssl-dev
RedHat/CentOS
sudo yum install python-devel openldap-devel
Чтобы успешно установить python-ldap с помощью pip, необходимы библиотеки разработки (имена пакетов, взятые из среды ubuntu):
sudo apt-get install -y python-dev libldap2-dev libsasl2-dev libssl-dev
В CentOS/RHEL 6 вам необходимо установить:
sudo yum install python-devel
sudo yum install openldap-devel
и yum также установит cyrus-sasl-devel
в качестве зависимости. Затем вы можете запустить:
pip-2.7 install python-ldap
В Ubuntu это выглядит так:
$ sudo apt-get install python-dev libldap2-dev libsasl2-dev libssl-dev
$ sudo pip install python-ldap
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
В дистрибутиве, основанном на 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
Для тех, у кого есть такая же проблема с отсутствием Iber.h на Alpine Linux, в изображении докеров, которое вы пытаетесь адаптировать к Alpine, например.
Пакет, который вы ищете, это: openldap-dev
Итак, запустите
apk add openldap-dev
Доступно с версии 3.3 до Edge
Доступно как для архитектуры armhf, так и для x86_64.
В Fedora 22 вам нужно сделать это:
sudo dnf install python-devel
sudo dnf install openldap-devel
В openSUSE вам необходимо установить пакеты openldap2-devel
, cyrus-sasl-devel
, python-devel
и libopenssl-devel
.
zypper install openldap2-devel cyrus-sasl-devel python-devel libopenssl-devel
В OSX вам нужны инструменты CLI xcode. Просто откройте терминал и запустите:
xcode-select --install
python3 не поддерживает python-ldap. Скорее для установки ldap3.
Как общее решение для установки пакетов 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.
В FreeBSD 11:
pkg install openldap-client # for lber.h
pkg install cyrus-sasl # if you need sasl.h
pip install python-ldap
Для большинства систем требования к сборке теперь упоминаются в документации по python-ldap, в разделе "Установка".
Если что-то отсутствует в вашей системе (или ваша система отсутствует полностью), пожалуйста, сообщите об этом сопровождающему! (Начиная с 2018 года я являюсь сопровождающим, поэтому здесь должно быть достаточно комментария. Или вы можете отправить запрос на удаление или написать письмо).
Если вы работаете с Windows-машинами, вы можете найти колесо "python-ldap" в этой ссылке, а затем установить его
для тех, кто использует alphine linux, apk добавить openldap-dev
Для альпийского докера
apk add openldap-dev
если версия Python 3 и выше, попробуйте
pip install python3-ldap
Сделал так же, как Пиета,
Решение для Windows (я успешно использовал его для py35) - см. на официальном сайте (https://python-ldap.readthedocs.io/en/latest/install.html#windows)
"Неофициальные пакеты для Windows доступны на странице Кристофа Гохлкса". (https://www.lfd.uci.edu/~gohlke/pythonlibs/)