简体   繁体   中英

Error seen during pip install python-ldap

I am new to Python.I am getting the below error when I run 'pip install python-ldap'

Collecting python-ldap
  Using cached python-ldap-3.4.0.tar.gz (376 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Requirement already satisfied: pyasn1-modules>=0.1.5 in c:\users\parinith\appdata\local\programs\python\python39\lib\site-packages (from python-ldap) (0.2.8)
Requirement already satisfied: pyasn1>=0.3.7 in c:\users\parinith\appdata\local\programs\python\python39\lib\site-packages (from python-ldap) (0.4.8)
Building wheels for collected packages: python-ldap
  Building wheel for python-ldap (pyproject.toml) ... error
  error: subprocess-exited-with-error

  × Building wheel for python-ldap (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [151 lines of output]
      running bdist_wheel
      running build
      running build_py
      creating build\lib.win-amd64-3.9
      copying Lib\ldapurl.py -> build\lib.win-amd64-3.9
      copying Lib\ldif.py -> build\lib.win-amd64-3.9
      creating build\lib.win-amd64-3.9\ldap
      copying Lib\ldap\async.py -> build\lib.win-amd64-3.9\ldap
      copying Lib\ldap\asyncsearch.py -> build\lib.win-amd64-3.9\ldap
      copying Lib\ldap\cidict.py -> build\lib.win-amd64-3.9\ldap
      copying Lib\ldap\compat.py -> build\lib.win-amd64-3.9\ldap
      copying Lib\ldap\constants.py -> build\lib.win-amd64-3.9\ldap
      copying Lib\ldap\dn.py -> build\lib.win-amd64-3.9\ldap
      copying Lib\ldap\filter.py -> build\lib.win-amd64-3.9\ldap
      copying Lib\ldap\functions.py -> build\lib.win-amd64-3.9\ldap
      copying Lib\ldap\ldapobject.py -> build\lib.win-amd64-3.9\ldap
      copying Lib\ldap\logger.py -> build\lib.win-amd64-3.9\ldap
      copying Lib\ldap\modlist.py -> build\lib.win-amd64-3.9\ldap
      copying Lib\ldap\pkginfo.py -> build\lib.win-amd64-3.9\ldap
      copying Lib\ldap\resiter.py -> build\lib.win-amd64-3.9\ldap
      copying Lib\ldap\sasl.py -> build\lib.win-amd64-3.9\ldap
      copying Lib\ldap\syncrepl.py -> build\lib.win-amd64-3.9\ldap
      copying Lib\ldap\__init__.py -> build\lib.win-amd64-3.9\ldap
      creating build\lib.win-amd64-3.9\ldap\controls
      copying Lib\ldap\controls\deref.py -> build\lib.win-amd64-3.9\ldap\controls
      copying Lib\ldap\controls\libldap.py -> build\lib.win-amd64-3.9\ldap\controls
      copying Lib\ldap\controls\openldap.py -> build\lib.win-amd64-3.9\ldap\controls
      copying Lib\ldap\controls\pagedresults.py -> build\lib.win-amd64-3.9\ldap\controls
      copying Lib\ldap\controls\ppolicy.py -> build\lib.win-amd64-3.9\ldap\controls
      copying Lib\ldap\controls\psearch.py -> build\lib.win-amd64-3.9\ldap\controls
      copying Lib\ldap\controls\pwdpolicy.py -> build\lib.win-amd64-3.9\ldap\controls
      copying Lib\ldap\controls\readentry.py -> build\lib.win-amd64-3.9\ldap\controls
      copying Lib\ldap\controls\sessiontrack.py -> build\lib.win-amd64-3.9\ldap\controls
      copying Lib\ldap\controls\simple.py -> build\lib.win-amd64-3.9\ldap\controls
      copying Lib\ldap\controls\sss.py -> build\lib.win-amd64-3.9\ldap\controls
      copying Lib\ldap\controls\vlv.py -> build\lib.win-amd64-3.9\ldap\controls
      copying Lib\ldap\controls\__init__.py -> build\lib.win-amd64-3.9\ldap\controls
      creating build\lib.win-amd64-3.9\ldap\extop
      copying Lib\ldap\extop\dds.py -> build\lib.win-amd64-3.9\ldap\extop
      copying Lib\ldap\extop\passwd.py -> build\lib.win-amd64-3.9\ldap\extop
      copying Lib\ldap\extop\__init__.py -> build\lib.win-amd64-3.9\ldap\extop
      creating build\lib.win-amd64-3.9\ldap\schema
      copying Lib\ldap\schema\models.py -> build\lib.win-amd64-3.9\ldap\schema
      copying Lib\ldap\schema\subentry.py -> build\lib.win-amd64-3.9\ldap\schema
      copying Lib\ldap\schema\tokenizer.py -> build\lib.win-amd64-3.9\ldap\schema
      copying Lib\ldap\schema\__init__.py -> build\lib.win-amd64-3.9\ldap\schema
      creating build\lib.win-amd64-3.9\slapdtest
      copying Lib\slapdtest\_slapdtest.py -> build\lib.win-amd64-3.9\slapdtest
      copying Lib\slapdtest\__init__.py -> build\lib.win-amd64-3.9\slapdtest
      running egg_info
      writing Lib\python_ldap.egg-info\PKG-INFO
      writing dependency_links to Lib\python_ldap.egg-info\dependency_links.txt
      writing requirements to Lib\python_ldap.egg-info\requires.txt
      writing top-level names to Lib\python_ldap.egg-info\top_level.txt
      reading manifest file 'Lib\python_ldap.egg-info\SOURCES.txt'
      reading manifest template 'MANIFEST.in'
      no previously-included directories found matching 'Doc\.build'
      adding license file 'LICENCE'
      writing manifest file 'Lib\python_ldap.egg-info\SOURCES.txt'
      creating build\lib.win-amd64-3.9\slapdtest\certs
      copying Lib\slapdtest\certs\README -> build\lib.win-amd64-3.9\slapdtest\certs
      copying Lib\slapdtest\certs\ca.conf -> build\lib.win-amd64-3.9\slapdtest\certs
      copying Lib\slapdtest\certs\ca.pem -> build\lib.win-amd64-3.9\slapdtest\certs
      copying Lib\slapdtest\certs\client.conf -> build\lib.win-amd64-3.9\slapdtest\certs
      copying Lib\slapdtest\certs\client.key -> build\lib.win-amd64-3.9\slapdtest\certs
      copying Lib\slapdtest\certs\client.pem -> build\lib.win-amd64-3.9\slapdtest\certs
      copying Lib\slapdtest\certs\gencerts.sh -> build\lib.win-amd64-3.9\slapdtest\certs
      copying Lib\slapdtest\certs\gennssdb.sh -> build\lib.win-amd64-3.9\slapdtest\certs
      copying Lib\slapdtest\certs\server.conf -> build\lib.win-amd64-3.9\slapdtest\certs
      copying Lib\slapdtest\certs\server.key -> build\lib.win-amd64-3.9\slapdtest\certs
      copying Lib\slapdtest\certs\server.pem -> build\lib.win-amd64-3.9\slapdtest\certs
      running build_ext
      building '_ldap' extension
      Traceback (most recent call last):
        File "c:\users\parinith\appdata\local\programs\python\python39\lib\site-packages\pip\_vendor\pep517\in_process\_in_process.py", line 363, in <module>
          main()
        File "c:\users\parinith\appdata\local\programs\python\python39\lib\site-packages\pip\_vendor\pep517\in_process\_in_process.py", line 345, in main
          json_out['return_val'] = hook(**hook_input['kwargs'])
        File "c:\users\parinith\appdata\local\programs\python\python39\lib\site-packages\pip\_vendor\pep517\in_process\_in_process.py", line 261, in build_wheel
          return _build_backend().build_wheel(wheel_directory, config_settings,
        File "C:\Users\parinith\AppData\Local\Temp\pip-build-env-2skszwms\overlay\Lib\site-packages\setuptools\build_meta.py", line 244, in build_wheel
          return self._build_with_temp_dir(['bdist_wheel'], '.whl',
        File "C:\Users\parinith\AppData\Local\Temp\pip-build-env-2skszwms\overlay\Lib\site-packages\setuptools\build_meta.py", line 229, in _build_with_temp_dir
          self.run_setup()
        File "C:\Users\parinith\AppData\Local\Temp\pip-build-env-2skszwms\overlay\Lib\site-packages\setuptools\build_meta.py", line 281, in run_setup
          super(_BuildMetaLegacyBackend,
        File "C:\Users\parinith\AppData\Local\Temp\pip-build-env-2skszwms\overlay\Lib\site-packages\setuptools\build_meta.py", line 174, in run_setup
          exec(compile(code, __file__, 'exec'), locals())
        File "setup.py", line 60, in <module>
          setup(
        File "C:\Users\parinith\AppData\Local\Temp\pip-build-env-2skszwms\overlay\Lib\site-packages\setuptools\__init__.py", line 155, in setup
          return distutils.core.setup(**attrs)
        File "C:\Users\parinith\AppData\Local\Temp\pip-build-env-2skszwms\overlay\Lib\site-packages\setuptools\_distutils\core.py", line 148, in setup
          return run_commands(dist)
        File "C:\Users\parinith\AppData\Local\Temp\pip-build-env-2skszwms\overlay\Lib\site-packages\setuptools\_distutils\core.py", line 163, in run_commands
          dist.run_commands()
        File "C:\Users\parinith\AppData\Local\Temp\pip-build-env-2skszwms\overlay\Lib\site-packages\setuptools\_distutils\dist.py", line 967, in run_commands
          self.run_command(cmd)
        File "C:\Users\parinith\AppData\Local\Temp\pip-build-env-2skszwms\overlay\Lib\site-packages\setuptools\_distutils\dist.py", line 986, in run_command
          cmd_obj.run()
        File "C:\Users\parinith\AppData\Local\Temp\pip-build-env-2skszwms\overlay\Lib\site-packages\wheel\bdist_wheel.py", line 299, in run
          self.run_command('build')
        File "C:\Users\parinith\AppData\Local\Temp\pip-build-env-2skszwms\overlay\Lib\site-packages\setuptools\_distutils\cmd.py", line 313, in run_command
          self.distribution.run_command(command)
        File "C:\Users\parinith\AppData\Local\Temp\pip-build-env-2skszwms\overlay\Lib\site-packages\setuptools\_distutils\dist.py", line 986, in run_command
          cmd_obj.run()
        File "C:\Users\parinith\AppData\Local\Temp\pip-build-env-2skszwms\overlay\Lib\site-packages\setuptools\_distutils\command\build.py", line 135, in run
          self.run_command(cmd_name)
        File "C:\Users\parinith\AppData\Local\Temp\pip-build-env-2skszwms\overlay\Lib\site-packages\setuptools\_distutils\cmd.py", line 313, in run_command
          self.distribution.run_command(command)
        File "C:\Users\parinith\AppData\Local\Temp\pip-build-env-2skszwms\overlay\Lib\site-packages\setuptools\_distutils\dist.py", line 986, in run_command
          cmd_obj.run()
        File "C:\Users\parinith\AppData\Local\Temp\pip-build-env-2skszwms\overlay\Lib\site-packages\setuptools\command\build_ext.py", line 79, in run
          _build_ext.run(self)
        File "C:\Users\parinith\AppData\Local\Temp\pip-build-env-2skszwms\overlay\Lib\site-packages\setuptools\_distutils\command\build_ext.py", line 339, in run
          self.build_extensions()
        File "C:\Users\parinith\AppData\Local\Temp\pip-build-env-2skszwms\overlay\Lib\site-packages\setuptools\_distutils\command\build_ext.py", line 448, in build_extensions
          self._build_extensions_serial()
        File "C:\Users\parinith\AppData\Local\Temp\pip-build-env-2skszwms\overlay\Lib\site-packages\setuptools\_distutils\command\build_ext.py", line 473, in _build_extensions_serial
          self.build_extension(ext)
        File "C:\Users\parinith\AppData\Local\Temp\pip-build-env-2skszwms\overlay\Lib\site-packages\setuptools\command\build_ext.py", line 202, in build_extension
          _build_ext.build_extension(self, ext)
        File "C:\Users\parinith\AppData\Local\Temp\pip-build-env-2skszwms\overlay\Lib\site-packages\setuptools\_distutils\command\build_ext.py", line 528, in build_extension
          objects = self.compiler.compile(sources,
        File "C:\Users\parinith\AppData\Local\Temp\pip-build-env-2skszwms\overlay\Lib\site-packages\setuptools\_distutils\_msvccompiler.py", line 327, in compile
          self.initialize()
        File "C:\Users\parinith\AppData\Local\Temp\pip-build-env-2skszwms\overlay\Lib\site-packages\setuptools\_distutils\_msvccompiler.py", line 224, in initialize
          vc_env = _get_vc_env(plat_spec)
        File "C:\Users\parinith\AppData\Local\Temp\pip-build-env-2skszwms\overlay\Lib\site-packages\setuptools\msvc.py", line 316, in msvc14_get_vc_env
          return _msvc14_get_vc_env(plat_spec)
        File "C:\Users\parinith\AppData\Local\Temp\pip-build-env-2skszwms\overlay\Lib\site-packages\setuptools\msvc.py", line 268, in _msvc14_get_vc_env
          vcvarsall, vcruntime = _msvc14_find_vcvarsall(plat_spec)
        File "C:\Users\parinith\AppData\Local\Temp\pip-build-env-2skszwms\overlay\Lib\site-packages\setuptools\msvc.py", line 223, in _msvc14_find_vcvarsall
          _, best_dir = _msvc14_find_vc2017()
        File "C:\Users\parinith\AppData\Local\Temp\pip-build-env-2skszwms\overlay\Lib\site-packages\setuptools\msvc.py", line 193, in _msvc14_find_vc2017
          path = subprocess.check_output([
        File "c:\users\parinith\appdata\local\programs\python\python39\lib\subprocess.py", line 424, in check_output
          return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
        File "c:\users\parinith\appdata\local\programs\python\python39\lib\site-packages\run\__init__.py", line 145, in __new__
          process = cls.create_process(command, stdin, cwd=cwd, env=env, shell=shell)
        File "c:\users\parinith\appdata\local\programs\python\python39\lib\site-packages\run\__init__.py", line 121, in create_process
          shlex.split(command),
        File "c:\users\parinith\appdata\local\programs\python\python39\lib\shlex.py", line 315, in split
          return list(lex)
        File "c:\users\parinith\appdata\local\programs\python\python39\lib\shlex.py", line 300, in __next__
          token = self.get_token()
        File "c:\users\parinith\appdata\local\programs\python\python39\lib\shlex.py", line 109, in get_token
          raw = self.read_token()
        File "c:\users\parinith\appdata\local\programs\python\python39\lib\shlex.py", line 140, in read_token
          nextchar = self.instream.read(1)
      AttributeError: 'list' object has no attribute 'read'
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for python-ldap
Failed to build python-ldap
ERROR: Could not build wheels for python-ldap, which is required to install pyproject.toml-based projects

I have also tried with the.whl files from https://www.lfd.uci.edu/~gohlke/pythonlibs/ but getting the same output. Is there any other dependencies to be installed, if so please provide help in detail

My python version is 3.9.6. How to resolve this issue so that I can use ldap.open,ldap.search, ldap.bind and other such commands in my script?

This steps worked for me on Ubuntu 20.04.4 LTS

─# apt-get update -y └─# apt-get install build-essential python3-dev python2.7-dev libldap2-dev libsasl2-dev slapd ldap-utils tox lcov valgrind

└─# apt-get update -y

└─# pip install python-ldap

The Answer above from "croonos23" works for me with Ubuntu 22.04. thanks croonos23! Also I see in the documents ( https://django-auth-ldap.readthedocs.io/en/latest/install.html ) mentioned the following: Install the package with pip: $ pip install django-auth-ldap It requires python-ldap >= 3.0. You'll need the OpenLDAP libraries and headers available on your system. . So maybe check your system if there are python-ldap existed.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM