Вот как я исправил это для меня. Я нахожусь на Amazon EC2-Instance, и я вошел в свой usr/bin/каталог и заметил, что у pip, pip-2.7, pip-3.6, and pip-pythonменя так было, sudo pip-3.6 install ldap3и это сработало для меня.
Кайл Бриденстайн
1
@KyleBridenstine python-ldap - это не то же самое, что ldap3.
Дэвид Малдер
Ответы:
428
Питон-LDAP основан на OpenLDAP, поэтому вам нужно иметь файлы развития (заголовки) для компиляции модуля Python. Если вы в Ubuntu, пакет называется libldap2-dev.
Спасибо за это. Он получил дальнейшее завершение работы с sasl.h, где нет такого файла или каталога
VacuumTube
68
@VacuumTube: пропущенные заголовки почти всегда являются признаком пропущенных -devпакетов (иногда их также называют -devel). Просто сделайте, apt-cache search sasl | grep devи вы, вероятно, найдете правильный пакет - я думаю, это так libsasl2-dev.
AndiDog
5
Что-нибудь для пользователей Windows :( Та же ошибка, решений пока нет
Shailen
4
Вам не нужно компилировать из исходного кода в Windows. Просто используйте один из установщиков из pypi.python.org/pypi/python-ldap .
Windows: Я полностью согласен с принятым ответом, но копаться в комментариях потребовалось время, чтобы добраться до сути того, что мне было нужно. Я столкнулся с этой конкретной проблемой с Reviewboard на Windows, используя Bitnami. Чтобы дать ответ для окон, я использовал эту ссылку, упомянутую в комментариях:
В дистрибутиве на основе Ubuntu / Debian вы можете использовать, apt-fileчтобы найти имя точного пакета, который включает в себя отсутствующий заголовочный файл.
# do this once
sudo apt-get install apt-file
sudo apt-file update
Для большинства систем требования к сборке теперь упоминаются в документации по python-ldap , в разделе «Установка».
Если что-то отсутствует в вашей системе (или ваша система отсутствует полностью), пожалуйста, сообщите об этом сопровождающему! (Начиная с 2018 года я являюсь сопровождающим, поэтому здесь должно быть достаточно комментария. Или вы можете отправить запрос на удаление или написать письмо).
Как общее решение для установки пакетов 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
usr/bin/
каталог и заметил, что уpip, pip-2.7, pip-3.6, and pip-python
меня так было,sudo pip-3.6 install ldap3
и это сработало для меня.Ответы:
Питон-LDAP основан на OpenLDAP, поэтому вам нужно иметь файлы развития (заголовки) для компиляции модуля Python. Если вы в Ubuntu, пакет называется
libldap2-dev
.Debian / Ubuntu :
RedHat / CentOS :
источник
-dev
пакетов (иногда их также называют-devel
). Просто сделайте,apt-cache search sasl | grep dev
и вы, вероятно, найдете правильный пакет - я думаю, это такlibsasl2-dev
.Для успешной установки python-ldap с помощью pip необходимы следующие библиотеки разработки (имена пакетов взяты из среды ubuntu):
источник
sudo pip install python-ldap
На CentOS / RHEL 6 вам необходимо установить:
и yum также будет установлен
cyrus-sasl-devel
как зависимость. Тогда вы можете запустить:источник
В Ubuntu это выглядит так:
источник
Windows: Я полностью согласен с принятым ответом, но копаться в комментариях потребовалось время, чтобы добраться до сути того, что мне было нужно. Я столкнулся с этой конкретной проблемой с Reviewboard на Windows, используя Bitnami. Чтобы дать ответ для окон, я использовал эту ссылку, упомянутую в комментариях:
Затем выполняются следующие команды
(потому что у меня был Python 2.7 и 32-битная установка)
источник
«Не слепо удаляйте / устанавливайте программное обеспечение»
В дистрибутиве на основе Ubuntu / Debian вы можете использовать,
apt-file
чтобы найти имя точного пакета, который включает в себя отсутствующий заголовочный файл.Как видно из вывода
apt-file search lber.h
, вам просто нужно установить пакетlibldap2-dev
.источник
Для тех, у кого та же проблема отсутствует Iber.h в Alpine Linux, в образе докера, который вы пытаетесь адаптировать, например, к Alpine.
Пакет, который вы ищете: openldap-dev
Так беги
apk add openldap-dev
Доступно с версии 3.3 до Edge
Доступно как для armhf, так и для архитектуры x86_64.
источник
На OpenSUSE вам необходимо установить пакеты
openldap2-devel
,cyrus-sasl-devel
,python-devel
иlibopenssl-devel
.zypper install openldap2-devel cyrus-sasl-devel python-devel libopenssl-devel
источник
На Fedora 22 вам нужно сделать это:
источник
В OSX вам нужны инструменты CLI xcode. Просто откройте терминал и запустите:
источник
Для большинства систем требования к сборке теперь упоминаются в документации по python-ldap , в разделе «Установка».
Если что-то отсутствует в вашей системе (или ваша система отсутствует полностью), пожалуйста, сообщите об этом сопровождающему! (Начиная с 2018 года я являюсь сопровождающим, поэтому здесь должно быть достаточно комментария. Или вы можете отправить запрос на удаление или написать письмо).
источник
python3 не поддерживает python-ldap. Скорее для установки ldap3.
источник
Чтобы исправить ошибку из-за зависимостей для установки python-ldap: Windows 7/10
скачать файл whl
http://www.lfd.uci.edu/~gohlke/pythonlibs/#python-ldap .
костюм Python 3.6 с
Разверните файл в:
установить его с
источник
В FreeBSD 11:
источник
Как общее решение для установки пакетов Python с бинарными зависимостями [1] в Debian / Ubuntu:
Вам придется проверить имя вашего пакета Python в Ubuntu по сравнению с PyPI. В этом случае они одинаковы.
Очевидно, не работает, если пакет Python отсутствует в репозиториях Ubuntu.
[1] Я научился этому трюку, пытаясь использовать
pip install matplotlib
Ubuntu.источник
Для альпийского докера
если версия Python 3 и выше, попробуйте
источник
Если вы работаете с Windows-машинами, вы можете найти колесо «python-ldap» в этой ссылке, а затем установить его
источник
для тех, кто использует alphine linux, apk добавить openldap-dev
источник
источник