2012年8月8日水曜日

python-ldapをWindows環境に入れる

メールサーバのアカウント管理をLDAPでやっているけど管理ツール無しでLDAPクライアントからいじるのが苦痛になってきたのでpythonで簡単な管理プログラムを作ってみることに。

ある程度の骨組みは出来たのでLDAPとのコミュニケーション部分に着手しようと開発環境にpython-ldapを入れようとしたらこんなエラーが。

ActivePython 2.7.2.5 (ActiveState Software Inc.) based on
Python 2.7.2 (default, Jun 24 2011, 12:22:14) [MSC v.1500 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import ldap
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\app\Python27\lib\site-packages\ldap\__init__.py", line 22, in <module>
    from ldap._ldap import *
ImportError: DLL load failed: %1 は有効な Win32 アプリケーションではありません。
dllの問題らしいという事まではすぐわかったんだけど、その先がさっぱりわからなかったんだけどふと64bit版のpythonを使っていることが問題ではないかという事に気付く。

python-ldapをオフィシャルな配布元にはWindowsの64bit版が無い気がするので下記の場所からamd64版を入手して問題なくインストールが完了。感謝。

http://www.lfd.uci.edu/~gohlke/pythonlibs/

Codecとかでもそうだったけど64bitと32bitの問題はしばらくはまりそうだねぇ。

0 件のコメント:

コメントを投稿