title: Having issues with python installing LDAP module. Anyone know what the error here is? Sorry if I'm asking in the wrong place
body: <p>Firstly apologize if this is the wrong spot to ask. I'm trying to make a script to connect LDAP in order to make a script for retrieving user info in Active Directory. I'm having an issue with installing the LDAP module. I was hesitant for asking here and have been trying for quite some time.  Below is the error I keep getting. Let me know if you have any suggestions. </p>
  
  <blockquote>
    <blockquote>
      <blockquote>
        <p>(venv)C:\Users\blong\PycharmProjects\untitled>python -m pip install 
            python-ldap
            Collecting python-ldap
            Using cached 
            <a href="https://files.pythonhosted.org/packages/ea/93/596f875e003c770447f4b" rel="nofollow noreferrer">https://files.pythonhosted.org/packages/ea/93/596f875e003c770447f4b</a>
            99267820a0c769dd2dc3ae3ed19afe460fcbad0/python-ldap-3.2.0.tar.gz
            Requirement already satisfied: pyasn1>=0.3.7 in 
            c:\users\blie\pycharmprojects\unti
            tled\venv\lib\site-packages (from python-ldap) (0.4.5)
            Requirement already satisfied: pyasn1_modules>=0.1.5 in 
            c:\users\blie\pycharmproje
            cts\untitled\venv\lib\site-packages (from python-ldap) (0.2.5)
            Installing collected packages: python-ldap
            Running setup.py install for python-ldap ... error
            ERROR: Complete output from command 
            'C:\Users\blie\PycharmProjects\untitled\ve
            nv\Scripts\python.exe' -u -c 'import setuptools, 
            tokenize;<strong>file</strong>='"'"'C:\Users\
            \blie\AppData\Local\Temp\pip-install-d7g4ghvn\python- 
            ldap\setup.py'"'"';f=ge
            tattr(tokenize, '"'"'open'"'"', open) 
            (<strong>file</strong>);code=f.read().replace('"'"'\r\n'"'
            "', '"'"'\n'"'"');f.close();exec(compile(code, <strong>file</strong>, 
            '"'"'exec'"'"'))' 
            install
            --record 'C:\Users\blie\AppData\Local\Temp\pip-record-u_hnxged\install- 
            record.txt
            ' --single-version-externally-managed --compile --install-headers 
            'C:\Users\blie\P
            ycharmProjects\untitled\venv\include\site\python3.7\python-ldap':
            ERROR: running install
            running build
            running build_py
            creating build\lib.win32-3.7
            copying Lib\ldapurl.py -> build\lib.win32-3.7
            copying Lib\ldif.py -> build\lib.win32-3.7
            creating build\lib.win32-3.7\ldap
            copying Lib\ldap\async.py -> build\lib.win32-3.7\ldap
            copying Lib\ldap\asyncsearch.py -> build\lib.win32-3.7\ldap
            copying Lib\ldap\cidict.py -> build\lib.win32-3.7\ldap
            copying Lib\ldap\compat.py -> build\lib.win32-3.7\ldap
            copying Lib\ldap\constants.py -> build\lib.win32-3.7\ldap
            copying Lib\ldap\dn.py -> build\lib.win32-3.7\ldap
            copying Lib\ldap\filter.py -> build\lib.win32-3.7\ldap
            copying Lib\ldap\functions.py -> build\lib.win32-3.7\ldap
            copying Lib\ldap\ldapobject.py -> build\lib.win32-3.7\ldap
            copying Lib\ldap\logger.py -> build\lib.win32-3.7\ldap
            copying Lib\ldap\modlist.py -> build\lib.win32-3.7\ldap
            copying Lib\ldap\pkginfo.py -> build\lib.win32-3.7\ldap
            copying Lib\ldap\resiter.py -> build\lib.win32-3.7\ldap
            copying Lib\ldap\sasl.py -> build\lib.win32-3.7\ldap
            copying Lib\ldap\syncrepl.py -> build\lib.win32-3.7\ldap
            copying Lib\ldap__init__.py -> build\lib.win32-3.7\ldap
            creating build\lib.win32-3.7\ldap\controls
            copying Lib\ldap\controls\deref.py -> build\lib.win32-3.7\ldap\controls
            copying Lib\ldap\controls\libldap.py -> build\lib.win32-3.7\ldap\controls
            copying Lib\ldap\controls\openldap.py -> build\lib.win32-3.7\ldap\controls
            copying Lib\ldap\controls\pagedresults.py -> build\lib.win32- 
            3.7\ldap\controls</p>
      </blockquote>
    </blockquote>
  </blockquote>
  
  <pre><code>copying Lib\ldap\controls\ppolicy.py -&gt; build\lib.win32-3.7\ldap\controls
  copying Lib\ldap\controls\psearch.py -&gt; build\lib.win32-3.7\ldap\controls
  copying Lib\ldap\controls\pwdpolicy.py -&gt; build\lib.win32- 
  3.7\ldap\controls
  copying Lib\ldap\controls\readentry.py -&gt; build\lib.win32- 
  3.7\ldap\controls
  copying Lib\ldap\controls\sessiontrack.py -&gt; build\lib.win32- 
  3.7\ldap\controls
  
  copying Lib\ldap\controls\simple.py -&gt; build\lib.win32-3.7\ldap\controls
  copying Lib\ldap\controls\sss.py -&gt; build\lib.win32-3.7\ldap\controls
  copying Lib\ldap\controls\vlv.py -&gt; build\lib.win32-3.7\ldap\controls
  copying Lib\ldap\controls\__init__.py -&gt; build\lib.win32-3.7\ldap\controls
  creating build\lib.win32-3.7\ldap\extop
  copying Lib\ldap\extop\dds.py -&gt; build\lib.win32-3.7\ldap\extop
  copying Lib\ldap\extop\__init__.py -&gt; build\lib.win32-3.7\ldap\extop
  creating build\lib.win32-3.7\ldap\schema
  copying Lib\ldap\schema\models.py -&gt; build\lib.win32-3.7\ldap\schema
  copying Lib\ldap\schema\subentry.py -&gt; build\lib.win32-3.7\ldap\schema
  copying Lib\ldap\schema\tokenizer.py -&gt; build\lib.win32-3.7\ldap\schema
  copying Lib\ldap\schema\__init__.py -&gt; build\lib.win32-3.7\ldap\schema
  creating build\lib.win32-3.7\slapdtest
  copying Lib\slapdtest\_slapdtest.py -&gt; build\lib.win32-3.7\slapdtest
  copying Lib\slapdtest\__init__.py -&gt; build\lib.win32-3.7\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'
  writing manifest file 'Lib\python_ldap.egg-info\SOURCES.txt'
  creating build\lib.win32-3.7\slapdtest\certs
  copying Lib\slapdtest\certs\README -&gt; build\lib.win32-3.7\slapdtest\certs
  copying Lib\slapdtest\certs\ca.conf -&gt; build\lib.win32-3.7\slapdtest\certs
  copying Lib\slapdtest\certs\ca.pem -&gt; build\lib.win32-3.7\slapdtest\certs
  copying Lib\slapdtest\certs\client.conf -&gt; build\lib.win32- 
  3.7\slapdtest\certs
  
  copying Lib\slapdtest\certs\client.key -&gt; build\lib.win32- 
  3.7\slapdtest\certs
  copying Lib\slapdtest\certs\client.pem -&gt; build\lib.win32- 
  3.7\slapdtest\certs
  copying Lib\slapdtest\certs\gencerts.sh -&gt; build\lib.win32- 
  3.7\slapdtest\certs
  
  copying Lib\slapdtest\certs\gennssdb.sh -&gt; build\lib.win32- 
  3.7\slapdtest\certs
  copying Lib\slapdtest\certs\server.conf -&gt; build\lib.win32- 
  3.7\slapdtest\certs
  copying Lib\slapdtest\certs\server.key -&gt; build\lib.win32- 
  3.7\slapdtest\certs
  copying Lib\slapdtest\certs\server.pem -&gt; build\lib.win32- 
  3.7\slapdtest\certs
  running build_ext
  building '_ldap' extension
  error: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft 
  Visual C++ Build Tools": https://visualstudio.microsoft.com/downloads/
  ----------------------------------------
  ERROR: Command 
  "'C:\Users\blong\PycharmProjects\untitled\venv\Scripts\python.exe' -u -c 
  'import setuptools, 
  tokenize;__file__='"'"'C:\\Users\\blie\\AppData\\Local\\Temp\\pip-i
  nstall-d7g4ghvn\\python-ldap\\setup.py'"'"';f=getattr(tokenize, 
  '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', 
  '"'"'\n'"'"');f.close();exec(compile(cod
  e, __file__, '"'"'exec'"'"'))' install --record 
  'C:\Users\blie\AppData\Local\Temp\pip-record-u_hnxged\install-record.txt' 
  --single-version-externally-managed --compile --inst
  all-headers 
  </code></pre>
  
  <p>'C:\Users\blie\PycharmProjects\untitled\venv\include\site\python3.7\python- 
      ldap'" failed with error code 1 in C:\Users\blie\AppData\Local\Temp\pip- 
      install-d7g4ghv
      n\python-ldap\</p>