python-ldapをインストールできません


266

次のコマンドを実行すると:

sudo pip install python-ldap

私はこのエラーを受け取ります:

Modules / LDAPObject.c:9からインクルードされたファイル:

Modules / errors.h:8:致命的なエラー:lber.h:そのようなファイルまたはディレクトリはありません

これを修正する方法はありますか?


1
これが私が修正した方法です。私は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と同じではありません
David Mulder

回答:


428

python-LDAPを使用すると、Pythonのモジュールをコンパイルするために開発ファイル(ヘッダ)を持っている必要がありますので、OpenLDAPのに基づいています。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

2
それをありがとう。さらに、そのようなファイルやディレクトリがないsasl.hで失敗しています
VacuumTube

68
@VacuumTube:欠落しているヘッダーは、ほとんどの場合、欠落している-devパッケージ(時にはとも呼ばれます)の兆候です-devel。ただやればapt-cache search sasl | grep dev、あなたはおそらく正しいパッケージを見つけるでしょう-私はそれを推測するでしょうlibsasl2-dev
AndiDog 2011年

5
Windowsユーザー向けの
すべて

4
Windowsのソースからコンパイルする必要はありません。pypi.python.org/pypi/python-ldapのインストーラーの1つを使用するだけです
Semmel 2013

3
また、Windowsユーザーは、virtualenvにインストールするために言及された.msiインストーラー@Semmelを抽出できます。コンパイルせずにWindowsのpython 2.7 virtualenvにpython-ldapをインストールする方法(更新2を参照)
Dave

143

python-ldapをpipで正常にインストールするには、次の開発ライブラリが必要です(ubuntu環境から取得したパッケージ名)。

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

ありがとう。これで十分です。それからあなたは走りますsudo pip install python-ldap
Sudipta Basak 2015

71

CentOS / RHEL 6では、以下をインストールする必要があります。

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

また、yumもcyrus-sasl-devel依存関係としてインストールされます。次に、実行できます:

pip-2.7 install python-ldap


15

Windows:受け入れられた答えには完全に同意しますが、コメントを掘り下げるには、必要なものを理解するのにしばらく時間がかかりました。Bitnamiを使用して、Windowsのレビューボードでこの特定の問題に遭遇しました。Windowsの答えを出すために、コメントに記載されている次のリンクを使用しました。

その後、次のコマンドを実行しました

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

(Python 2.7と32ビットのインストールがあったため)

easy_install python-ldap


12

「盲目的にソフトウェアを削除/インストールしないでください」

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

2
これは本当に一番上になるはずです。それは非常に役に立ちます。
Bobort

これに相当するCentoOSはありますか?
トミスラフアーバン

11

Alpine LinuxでIber.hが見つからないという同じ問題が発生している場合は、たとえば、Alpineに適応させようとしているDockerイメージで。

あなたが探しているパッケージは次のとおりです:openldap-dev

だから走る

apk add openldap-dev

バージョン3.3からEdgeまで利用可能

armhfアーキテクチャとx86_64アーキテクチャの両方で使用できます。


高山ベースの画像に適しています。ありがとう。
rozacek

4

openSUSEの上では、パッケージをインストールする必要がありopenldap2-develcyrus-sasl-develpython-devellibopenssl-devel

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


4

Fedora 22では、代わりにこれを行う必要があります:

sudo dnf install python-devel
sudo dnf install openldap-devel

F25にも当てはまります
Jerther 2017


2

以下のためにほとんどのシステムで、ビルドの要件は、現在に記載されているのpython-LDAPのドキュメント「インストール」セクションで、。

システムに欠けているものがある場合(またはシステムが完全に欠けている場合)は、メンテナに知らせてください!(2018年現在、私はメンテナーなので、ここのコメントで十分です。または、プルリクエストまたはメールを送信できます。)


ありがとう、python3を実行している場合、python-develではなくpython3-develが必要になることに注意してください。
ジェイミー


2

依存関係によるエラーを修正してpython-ldapをインストールする:Windows 7/10

whlファイルをダウンロード

http://www.lfd.uci.edu/~gohlke/pythonlibs/#python-ldap

Python 3.6スーツ

python_ldap-3.2.0-cp36-cp36m-win_amd64.whl

次の場所にファイルをデプロイします。

c:\ python36 \ Scripts \

それをインストールする

python -m pip install python_ldap-3.2.0-cp36-cp36m-win_amd64.whl

1

FreeBSD 11の場合:

pkg install openldap-client # for lber.h
pkg install cyrus-sasl # if you need sasl.h
pip install python-ldap

1

Debian / Ubuntuにバイナリ依存[1]のPythonパッケージをインストールするための一般的なソリューションとして:

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

UbuntuとPyPI では、Pythonパッケージの名前を確認する必要があります。この場合、それらは同じです。

PythonパッケージがUbuntuリポジトリにない場合、明らかに機能しません。

[1]私はpip install matplotlibUbuntuで試してみたときにこのトリックを学びました。


1

高山の港湾労働者のため

apk add openldap-dev

Pythonバージョンが3以上の場合

pip install python3-ldap

0

Windowsマシンで作業している場合は、このリンクに「python-ldap」ホイールがあり、インストールできます。



弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.