Lorsque j'exécute la commande suivante:
sudo pip install python-ldap
Je reçois cette erreur:
Dans le fichier inclus depuis Modules / LDAPObject.c: 9:
Modules / errors.h: 8: erreur fatale: lber.h: Aucun fichier ou répertoire de ce type
Une idée de comment réparer ça?
usr/bin/
répertoire et j'ai remarqué que je l'pip, pip-2.7, pip-3.6, and pip-python
avais faitsudo pip-3.6 install ldap3
et cela a fonctionné pour moi.Réponses:
Le python-ldap est basé sur OpenLDAP, vous devez donc avoir les fichiers de développement (en-têtes) afin de compiler le module Python. Si vous êtes sur Ubuntu, le package est appelé
libldap2-dev
.Debian / Ubuntu :
RedHat / CentOS :
la source
-dev
paquets manquants (parfois aussi nommés-devel
). Faites-leapt-cache search sasl | grep dev
et vous trouverez probablement le bon package - je suppose que c'est le caslibsasl2-dev
.Pour installer python-ldap avec pip avec succès, les bibliothèques de développement suivantes sont nécessaires (noms de paquetages tirés de l'environnement ubuntu):
la source
sudo pip install python-ldap
Sur CentOS / RHEL 6, vous devez installer:
et yum sera également installé en
cyrus-sasl-devel
tant que dépendance. Ensuite, vous pouvez exécuter:la source
Dans Ubuntu, cela ressemble à ceci:
la source
Windows: je suis entièrement d'accord avec la réponse acceptée, mais il a fallu un certain temps pour fouiller dans les commentaires pour arriver à la viande dont j'avais besoin. J'ai rencontré ce problème spécifique avec Reviewboard sur Windows en utilisant le Bitnami. Pour donner une réponse pour Windows alors, j'ai utilisé ce lien mentionné dans les commentaires:
Ensuite, exécuté les commandes suivantes
(parce que j'avais python 2.7 et une installation 32 bits)
la source
"Ne supprimez / installez pas aveuglément un logiciel"
Dans une distribution basée sur Ubuntu / Debian, vous pouvez utiliser
apt-file
pour trouver le nom du package exact qui inclut le fichier d'en-tête manquant.Comme vous pouvez le voir sur la sortie de
apt-file search lber.h
, il vous suffit d'installer le packagelibldap2-dev
.la source
Pour ceux qui ont le même problème de manque Iber.h sur Alpine Linux, dans une image de docker que vous essayez d'adapter à Alpine par exemple.
Le package que vous recherchez est: openldap-dev
Alors cours
apk add openldap-dev
Disponible de la version 3.3 à Edge
Disponible pour les architectures armhf et x86_64.
la source
Sur openSUSE vous devez installer les packages
openldap2-devel
,cyrus-sasl-devel
,python-devel
etlibopenssl-devel
.zypper install openldap2-devel cyrus-sasl-devel python-devel libopenssl-devel
la source
Sur Fedora 22, vous devez le faire à la place:
la source
Sur OSX, vous avez besoin des outils CLI xcode. Ouvrez simplement un terminal et lancez:
la source
Pour la plupart des systèmes , les exigences de construction sont maintenant mentionnées dans la documentation de python-ldap , dans la section "Installation".
Si quelque chose manque à votre système (ou si votre système manque complètement), veuillez en informer le responsable! (À partir de 2018, je suis le responsable, donc un commentaire ici devrait suffire. Ou vous pouvez envoyer une demande de pull ou un mail.)
la source
python3 ne prend pas en charge python-ldap. Plutôt installer ldap3.
la source
Pour corriger l'erreur due aux dépendances pour installer le python-ldap: Windows 7/10
téléchargez le fichier whl
http://www.lfd.uci.edu/~gohlke/pythonlibs/#python-ldap .
costume python 3.6 avec
Déployez le fichier dans:
installez-le avec
la source
Dans FreeBSD 11:
la source
Comme solution générale pour installer des paquets Python avec des dépendances binaires [1] sur Debian / Ubuntu:
Vous devrez vérifier le nom de votre package Python sur Ubuntu par rapport à PyPI. Dans ce cas, ce sont les mêmes.
Évidemment, cela ne fonctionne pas si le package Python n'est pas dans le référentiel Ubuntu.
[1] J'ai appris cette astuce en essayant
pip install matplotlib
sur Ubuntu.la source
Pour docker alpin
si la version python est de 3 et plus, essayez
la source
Si vous travaillez avec des machines Windows, vous pouvez trouver la roue 'python-ldap' dans ce lien , puis vous pouvez l'installer
la source
pour ceux qui utilisent alphine linux, apk add openldap-dev
la source
la source