无法通过pip安装python-ldap

6

我无法通过pip安装python-ldap,我遇到了以下错误:

$ sudo pip3.4 install python-ldap
Downloading/unpacking python-ldap
  Downloading python-ldap-2.4.19.tar.gz (138kB): 138kB downloaded
  Running setup.py (path:/tmp/pip_build_root/python-ldap/setup.py) egg_info for package python-ldap
    Traceback (most recent call last):
      File "<string>", line 17, in <module>
      File "/tmp/pip_build_root/python-ldap/setup.py", line 53
        print name + ': ' + cfg.get('_ldap', name)
                 ^
    SyntaxError: invalid syntax
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):

  File "<string>", line 17, in <module>

  File "/tmp/pip_build_root/python-ldap/setup.py", line 53

    print name + ': ' + cfg.get('_ldap', name)

             ^

SyntaxError: invalid syntax

----------------------------------------
Cleaning up...
Command python setup.py egg_info failed with error code 1 in /tmp/pip_build_root/python-ldap
Storing debug log for failure in /home/nima/.pip/pip.log

有什么办法可以解决这个问题吗?
3个回答

9
似乎你的python-ldap是在Python-2.X中实现的,但你正在使用Python-3.X(Python 3中print是一个函数)。因此,你需要安装一个支持Python-3.X的新版本库,或者安装不建议使用的python-2.X库。
你可以使用以下命令为Python-3.X安装适当版本:
# if pip3 is the default pip alias for python-3
pip3 install python3-ldap

# otherwise 
pip install python3-ldap

以下是PiPy软件包的链接,可获取更多信息。https://pypi.python.org/pypi/python3-ldap/0.9.8.4/


是的,这就是我困惑的地方,因为该库使用Python3通过源代码进行构建。(http://pyldap.readthedocs.org/en/latest/install.html)而在GitHub上则表示仅支持Python >= 3.3。我猜我只能从源代码构建它了。 - Nima GT
@Nima,看起来你尝试使用pip安装的python-ldap和你提到的RTD和Github项目中的PyLDAP是两个完全不同的实体,因此引起了混淆。你想要的包PyLDAP无法通过pip/PyPI进行安装。 - MattDMo
@MattDMo 哈哈,你说得对,我把两个搞混了 :D - Nima GT
1
@TaraPrasadGurung 这取决于你实现这些方法的方式。如果它们与Python-3.X没有任何冲突,那么肯定可以工作,否则你可能需要使用自动执行转换或增强转换过程的库,例如docs.python.org/3.0/library/2to3.html。 - Mazdak
@Kasramvd 我尝试以这种方式使其工作 (1)。安装了ldap3 (2),导入了ldap3。(3)将每个ldap实例替换为ldap3 (RESULT)。但是这并没有解决问题,问题是“AttributeError: module 'ldap3' has no attribute 'set_option'”,一些方法对于ldap3不可用。现在我可能需要找到新的方法并替换它们。 - Tara Prasad Gurung
显示剩余3条评论

4
您可以安装专为Python3实现的python-ldap。
pip install python3-ldap

0
安装winlapsearch
git clone https://github.com/ropnop/windapsearch.git
apt-get install python3-ldap
./windapsearch.py

请不要仅仅推荐一个库,而没有任何关于这个库是什么以及如何具体使用它来解决这个特定问题的信息。了解更多 - Jeremy Caney

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接