pip: python-ldap - Не удалось создать колесо для python-ldap [duplicate]

В R edit

new_optim <- edit(optim)

есть очень удобная функция. Он откроет исходный код optim, используя редактор, указанный в R options, а затем вы можете его редактировать и назначьте измененную функцию new_optim. Мне очень нравится эта функция, чтобы просматривать код или отлаживать код, например, печатать некоторые сообщения или переменные или даже назначать их глобальным переменным для дальнейшего исследования (конечно, вы можете использовать debug).

Если вы просто хотите просмотреть исходный код и не хотите, чтобы на вашей консоли был напечатан раздражающий длинный исходный код, вы можете использовать

invisible(edit(optim))

. Ясно, что это невозможно использовать для просмотра C / C ++ или Исходный код Fortran.

BTW, edit может открывать другие объекты, такие как список, матрица и т. Д., Который также показывает структуру данных с атрибутами. Функция de может быть использована для открытия редактора Excel (если он поддерживает GUI) для изменения рамки матрицы или данных и возврата нового. Иногда это удобно, но его следует избегать в обычном случае, особенно когда вы крупнее.

189
задан Mateusz Piotrowski 15 July 2016 в 15:58
поделиться

15 ответов

На веб-сайте говорится, что python-ldap основан на OpenLDAP, поэтому вам нужно иметь файлы разработки (заголовки) для компиляции модуля Python. Если вы на Ubuntu, пакет называется libldap2-dev.

Debian / Ubuntu:

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

RedHat / CentOS:

sudo yum install python-devel openldap-devel
257
ответ дан Tombart 18 August 2018 в 10:23
поделиться
  • 1
    Спасибо за это. Теперь у него больше нет sasl.h нет такого файла или каталога – VacuumTube 22 January 2011 в 15:57
  • 2
    @VacuumTube: пропущенные заголовки почти всегда являются признаком отсутствия пакетов -dev (иногда также называются -devel). Просто сделайте apt-cache search sasl | grep dev, и вы, вероятно, найдете правильный пакет - я бы предположил, что это libsasl2-dev. – AndiDog 22 January 2011 в 16:02
  • 3
    Что угодно для пользователей Windows :( Такая же ошибка, пока нет решений – shailenTJ 13 August 2013 в 15:37
  • 4
    Вам не нужно компилироваться из источника в Windows. Просто используйте один из инсталляторов из pypi.python.org/pypi/python-ldap . – Semmel 19 September 2013 в 03:14
  • 5
    Кроме того, пользователи Windows могут извлечь установщик .msi @Semmel, упомянутый для установки в virtualenv: Как установить python-ldap на python 2.7 virtualenv на windows без компиляции (см. Обновление 2) – Mr. Dave 29 October 2013 в 19:11

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

 $ sudo apt-get install python-dev libldap2-dev libsasl2-dev libssl-dev
 $ sudo pip install python-ldap
30
ответ дан Abdoul Ndiaye 18 August 2018 в 10:23
поделиться

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

1
ответ дан Agnel Amodia 18 August 2018 в 10:23
поделиться

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

xcode-select --install
2
ответ дан Andy Fraley 18 August 2018 в 10:23
поделиться

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

sudo dnf install python-devel
sudo dnf install openldap-devel
4
ответ дан chfw 18 August 2018 в 10:23
поделиться

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

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

3
ответ дан Christian Berendt 18 August 2018 в 10:23
поделиться

Как общее решение для установки пакетов 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.

1
ответ дан d3vid 18 August 2018 в 10:23
поделиться

В FreeBSD 11:

pkg install openldap-client # for lber.h
pkg install cyrus-sasl # if you need sasl.h
pip install python-ldap
0
ответ дан digitalr00ts 18 August 2018 в 10:23
поделиться

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

В дистрибутиве на основе 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
3
ответ дан Gayan Weerakutti 18 August 2018 в 10:23
поделиться

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

sudo apt-get install -y python-dev libldap2-dev libsasl2-dev libssl-dev
140
ответ дан I159 18 August 2018 в 10:23
поделиться
  • 1
    Благодарю. это все, что вам нужно. то вы запустите sudo pip install python-ldap – Sudipta Basak 9 July 2015 в 10:52

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

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

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

apk add openldap-dev

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

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

2
ответ дан Ilhicas 18 August 2018 в 10:23
поделиться

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

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

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

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

easy_install python-ldap
9
ответ дан Jonathan 18 August 2018 в 10:23
поделиться

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

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

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

pip-2.7 install python-ldap
70
ответ дан Mike Pennington 18 August 2018 в 10:23
поделиться

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

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

0
ответ дан Petr Viktorin 18 August 2018 в 10:23
поделиться
  • 1
    Спасибо, может быть стоит отметить, что если вы используете python3, вам понадобится python3-devel, а не python-devel. – Jamie 26 June 2018 в 01:09

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

0
ответ дан pietà 18 August 2018 в 10:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: