Cuando ejecuto el siguiente comando:
sudo pip install python-ldap
Me sale este error:
En el archivo incluido desde Módulos / LDAPObject.c: 9:
Módulos / errores.h: 8: error fatal: lber.h: No existe tal archivo o directorio
Alguna idea de cómo solucionar este problema?
usr/bin/
directorio y noté que tenía,pip, pip-2.7, pip-3.6, and pip-python
así que lo hicesudo pip-3.6 install ldap3
y funcionó para mí.Respuestas:
El pitón-LDAP se basa en OpenLDAP, por lo que es necesario tener los archivos de desarrollo (cabeceras) con el fin de compilar el módulo de Python. Si estás en Ubuntu, se llama al paquete
libldap2-dev
.Debian / Ubuntu :
RedHat / CentOS :
fuente
-dev
paquetes faltantes (a veces también nombrados-devel
). Solo hazloapt-cache search sasl | grep dev
y probablemente encontrarás el paquete correcto, supongo que eslibsasl2-dev
.Para instalar python-ldap con éxito con pip, se necesitan las siguientes bibliotecas de desarrollo (nombres de paquetes tomados del entorno ubuntu):
fuente
sudo pip install python-ldap
En CentOS / RHEL 6, debe instalar:
y yum también se instalará
cyrus-sasl-devel
como una dependencia. Entonces puedes ejecutar:fuente
En Ubuntu se ve así:
fuente
Windows: estoy completamente de acuerdo con la respuesta aceptada, pero profundizar en los comentarios me llevó un tiempo llegar a la esencia de lo que necesitaba. Me encontré con este problema específico con Reviewboard en Windows usando Bitnami. Para dar una respuesta para Windows, utilicé este enlace mencionado en los comentarios:
Luego, ejecuté los siguientes comandos
(porque tenía Python 2.7 y una instalación de 32 bits en eso)
fuente
"No elimine ni instale software a ciegas"
En una distribución basada en Ubuntu / Debian, puede usar
apt-file
para encontrar el nombre del paquete exacto que incluye el archivo de encabezado que falta.Como puede ver en la salida de
apt-file search lber.h
, solo necesitaría instalar el paquetelibldap2-dev
.fuente
Para aquellos que tienen el mismo problema de perder Iber.h en Alpine Linux, en una imagen acoplada que está intentando adaptar a Alpine, por ejemplo.
El paquete que está buscando es: openldap-dev
Entonces corre
apk add openldap-dev
Disponible desde la versión 3.3 hasta Edge
Disponible para arquitecturas armhf y x86_64.
fuente
En openSUSE es necesario instalar los paquetes
openldap2-devel
,cyrus-sasl-devel
,python-devel
ylibopenssl-devel
.zypper install openldap2-devel cyrus-sasl-devel python-devel libopenssl-devel
fuente
En Fedora 22, debe hacer esto en su lugar:
fuente
En OSX, necesita las herramientas CLI de xcode. Simplemente abra una terminal y ejecute:
fuente
Para la mayoría de los sistemas , los requisitos de compilación ahora se mencionan en la documentación de python-ldap , en la sección "Instalación".
Si falta algo para su sistema (o si su sistema falta por completo), ¡informe al encargado de mantenimiento! (A partir de 2018, soy el mantenedor, por lo que un comentario aquí debería ser suficiente. O puede enviar una solicitud de extracción o correo).
fuente
python3 no es compatible con python-ldap. En lugar de instalar ldap3.
fuente
Para corregir el error debido a dependencias para instalar python-ldap: Windows 7/10
descargar el archivo whl
http://www.lfd.uci.edu/~gohlke/pythonlibs/#python-ldap .
Python 3.6 traje con
Implemente el archivo en:
instalarlo con
fuente
En FreeBSD 11:
fuente
Como solución general para instalar paquetes Python con dependencias binarias [1] en Debian / Ubuntu:
Deberá verificar el nombre de su paquete Python en Ubuntu versus PyPI. En este caso son lo mismo.
Obviamente no funciona si el paquete Python no está en los repositorios de Ubuntu.
[1] Aprendí este truco al intentar
pip install matplotlib
en Ubuntu.fuente
Para estibador alpino
si la versión de Python es 3 y superior, intente
fuente
Si está trabajando con máquinas Windows, puede encontrar la rueda 'python-ldap' en este enlace y luego puede instalarla
fuente
para aquellos que usan alphine linux, apk agregue openldap-dev
fuente
fuente