Pip 无法安装 github 包 'python-ldap',需要 C++ 10

Pip fails to install github package 'python-ldap', C++ 10 required

我正在尝试安装 python-ldap 的 this python3 fork

我已经到了下载 zip 的地步,我只是将 pip 指向 zip 文件。

pip install D:\Users\<user_name>\Downloads\python-ldap-py3.zip

但现在它失败了,日志如下:

------------------------------------------------------------
C:\Python34\Scripts\pip-script.py run on 01/12/15 17:00:33
Unpacking d:\users\castone\downloads\python-ldap-py3.zip
  Running setup.py (path:D:\Users\my-name\AppData\Local\Temp\pip-5lbm029n-build\setup.py) egg_info for package from file:///D:/Users/CAStone/Downloads/python-ldap-py3.zip
    defines: HAVE_SASL HAVE_TLS HAVE_LIBLDAP_R
    extra_compile_args:
    extra_objects:
    include_dirs: /opt/openldap-RE24/include /usr/include/sasl /usr/include
    library_dirs: /opt/openldap-RE24/lib /usr/lib
    libs: ldap_r
    running egg_info
    creating pip-egg-info\python_ldap.egg-info
    writing top-level names to pip-egg-info\python_ldap.egg-info\top_level.txt
    writing dependency_links to pip-egg-info\python_ldap.egg-info\dependency_links.txt
    writing requirements to pip-egg-info\python_ldap.egg-info\requires.txt
    writing pip-egg-info\python_ldap.egg-info\PKG-INFO
    writing manifest file 'pip-egg-info\python_ldap.egg-info\SOURCES.txt'
    warning: manifest_maker: standard file '-c' not found

    file Lib\ldap.py (for module ldap) not found
    file Lib\ldap\controls.py (for module ldap.controls) not found
    file Lib\ldap\extop.py (for module ldap.extop) not found
    file Lib\ldap\schema.py (for module ldap.schema) not found
    reading manifest file 'pip-egg-info\python_ldap.egg-info\SOURCES.txt'
    reading manifest template 'MANIFEST.in'
    warning: no files found matching 'Makefile'
    warning: no files found matching 'LICENCE'
    warning: no files found matching 'Modules\LICENSE'
    writing manifest file 'pip-egg-info\python_ldap.egg-info\SOURCES.txt'
  Source in d:\users\my-name\appdata\local\temp\pip-5lbm029n-build has version 2.4.14, which satisfies requirement python-ldap==2.4.14 from file:///D:/Users/my-name/Downloads/python-ldap-py3.zip
Requirement already satisfied (use --upgrade to upgrade): setuptools in c:\python34\lib\site-packages\setuptools-10.0.1-py3.4.egg (from python-ldap==2.4.14)
  skipping extra certs
  skipping extra ssl:sys_platform=='win32'
Installing collected packages: python-ldap
  Running setup.py install for python-ldap
    Running command C:\Python34\python.EXE -c "import setuptools, tokenize;__file__='D:\Users\my-name\AppData\Local\Temp\pip-5lbm029n-build\setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record D:\Users\my-name\AppData\Local\Temp\pip-14zk049a-record\install-record.txt --single-version-externally-managed --compile
    defines: HAVE_SASL HAVE_TLS HAVE_LIBLDAP_R
    extra_compile_args:
    extra_objects:
    include_dirs: /opt/openldap-RE24/include /usr/include/sasl /usr/include
    library_dirs: /opt/openldap-RE24/lib /usr/lib
    libs: ldap_r
    running install
    running build
    running build_py
    file Lib\ldap.py (for module ldap) not found
    file Lib\ldap\controls.py (for module ldap.controls) not found
    file Lib\ldap\extop.py (for module ldap.extop) not found
    file Lib\ldap\schema.py (for module ldap.schema) not found
    creating build\lib.win32-3.4
    copying Lib\ldapurl.py -> build\lib.win32-3.4
    copying Lib\ldif.py -> build\lib.win32-3.4
    copying Lib\dsml.py -> build\lib.win32-3.4
    creating build\lib.win32-3.4\ldap
    copying Lib\ldap\__init__.py -> build\lib.win32-3.4\ldap
    copying Lib\ldap\async.py -> build\lib.win32-3.4\ldap
    copying Lib\ldap\compat.py -> build\lib.win32-3.4\ldap
    creating build\lib.win32-3.4\ldap\controls
    copying Lib\ldap\controls\__init__.py -> build\lib.win32-3.4\ldap\controls
    copying Lib\ldap\controls\libldap.py -> build\lib.win32-3.4\ldap\controls
    copying Lib\ldap\controls\openldap.py -> build\lib.win32-3.4\ldap\controls
    copying Lib\ldap\controls\ppolicy.py -> build\lib.win32-3.4\ldap\controls
    copying Lib\ldap\controls\psearch.py -> build\lib.win32-3.4\ldap\controls
    copying Lib\ldap\controls\pwdpolicy.py -> build\lib.win32-3.4\ldap\controls
    copying Lib\ldap\controls\readentry.py -> build\lib.win32-3.4\ldap\controls
    copying Lib\ldap\controls\sessiontrack.py -> build\lib.win32-3.4\ldap\controls
    copying Lib\ldap\controls\simple.py -> build\lib.win32-3.4\ldap\controls
    copying Lib\ldap\cidict.py -> build\lib.win32-3.4\ldap
    copying Lib\ldap\dn.py -> build\lib.win32-3.4\ldap
    creating build\lib.win32-3.4\ldap\extop
    copying Lib\ldap\extop\__init__.py -> build\lib.win32-3.4\ldap\extop
    copying Lib\ldap\extop\dds.py -> build\lib.win32-3.4\ldap\extop
    copying Lib\ldap\filter.py -> build\lib.win32-3.4\ldap
    copying Lib\ldap\functions.py -> build\lib.win32-3.4\ldap
    copying Lib\ldap\ldapobject.py -> build\lib.win32-3.4\ldap
    copying Lib\ldap\logger.py -> build\lib.win32-3.4\ldap
    copying Lib\ldap\modlist.py -> build\lib.win32-3.4\ldap
    copying Lib\ldap\resiter.py -> build\lib.win32-3.4\ldap
    copying Lib\ldap\sasl.py -> build\lib.win32-3.4\ldap
    creating build\lib.win32-3.4\ldap\schema
    copying Lib\ldap\schema\__init__.py -> build\lib.win32-3.4\ldap\schema
    copying Lib\ldap\schema\models.py -> build\lib.win32-3.4\ldap\schema
    copying Lib\ldap\schema\subentry.py -> build\lib.win32-3.4\ldap\schema
    copying Lib\ldap\schema\tokenizer.py -> build\lib.win32-3.4\ldap\schema
    copying Lib\ldap\syncrepl.py -> build\lib.win32-3.4\ldap
    file Lib\ldap.py (for module ldap) not found
    file Lib\ldap\controls.py (for module ldap.controls) not found
    file Lib\ldap\extop.py (for module ldap.extop) not found
    file Lib\ldap\schema.py (for module ldap.schema) not found
    running egg_info
    creating Lib\python_ldap.egg-info
    writing top-level names to Lib\python_ldap.egg-info\top_level.txt
    writing requirements to Lib\python_ldap.egg-info\requires.txt
    writing Lib\python_ldap.egg-info\PKG-INFO
    writing dependency_links to Lib\python_ldap.egg-info\dependency_links.txt
    writing manifest file 'Lib\python_ldap.egg-info\SOURCES.txt'
    warning: manifest_maker: standard file '-c' not found

    file Lib\ldap.py (for module ldap) not found
    file Lib\ldap\controls.py (for module ldap.controls) not found
    file Lib\ldap\extop.py (for module ldap.extop) not found
    file Lib\ldap\schema.py (for module ldap.schema) not found
    reading manifest file 'Lib\python_ldap.egg-info\SOURCES.txt'
    reading manifest template 'MANIFEST.in'
    warning: no files found matching 'Makefile'
    warning: no files found matching 'LICENCE'
    warning: no files found matching 'Modules\LICENSE'
    writing manifest file 'Lib\python_ldap.egg-info\SOURCES.txt'
    running build_ext
    building '_ldap' extension
    error: Microsoft Visual C++ 10.0 is required (Unable to find vcvarsall.bat).
    Complete output from command C:\Python34\python.EXE -c "import setuptools, tokenize;__file__='D:\Users\my-name\AppData\Local\Temp\pip-5lbm029n-build\setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record D:\Users\my-name\AppData\Local\Temp\pip-14zk049a-record\install-record.txt --single-version-externally-managed --compile:
    defines: HAVE_SASL HAVE_TLS HAVE_LIBLDAP_R

extra_compile_args:

extra_objects:

include_dirs: /opt/openldap-RE24/include /usr/include/sasl /usr/include

library_dirs: /opt/openldap-RE24/lib /usr/lib

libs: ldap_r

running install

running build

running build_py

file Lib\ldap.py (for module ldap) not found

file Lib\ldap\controls.py (for module ldap.controls) not found

file Lib\ldap\extop.py (for module ldap.extop) not found

file Lib\ldap\schema.py (for module ldap.schema) not found

creating build\lib.win32-3.4

copying Lib\ldapurl.py -> build\lib.win32-3.4

copying Lib\ldif.py -> build\lib.win32-3.4

copying Lib\dsml.py -> build\lib.win32-3.4

creating build\lib.win32-3.4\ldap

copying Lib\ldap\__init__.py -> build\lib.win32-3.4\ldap

copying Lib\ldap\async.py -> build\lib.win32-3.4\ldap

copying Lib\ldap\compat.py -> build\lib.win32-3.4\ldap

creating build\lib.win32-3.4\ldap\controls

copying Lib\ldap\controls\__init__.py -> build\lib.win32-3.4\ldap\controls

copying Lib\ldap\controls\libldap.py -> build\lib.win32-3.4\ldap\controls

copying Lib\ldap\controls\openldap.py -> build\lib.win32-3.4\ldap\controls

copying Lib\ldap\controls\ppolicy.py -> build\lib.win32-3.4\ldap\controls

copying Lib\ldap\controls\psearch.py -> build\lib.win32-3.4\ldap\controls

copying Lib\ldap\controls\pwdpolicy.py -> build\lib.win32-3.4\ldap\controls

copying Lib\ldap\controls\readentry.py -> build\lib.win32-3.4\ldap\controls

copying Lib\ldap\controls\sessiontrack.py -> build\lib.win32-3.4\ldap\controls

copying Lib\ldap\controls\simple.py -> build\lib.win32-3.4\ldap\controls

copying Lib\ldap\cidict.py -> build\lib.win32-3.4\ldap

copying Lib\ldap\dn.py -> build\lib.win32-3.4\ldap

creating build\lib.win32-3.4\ldap\extop

copying Lib\ldap\extop\__init__.py -> build\lib.win32-3.4\ldap\extop

copying Lib\ldap\extop\dds.py -> build\lib.win32-3.4\ldap\extop

copying Lib\ldap\filter.py -> build\lib.win32-3.4\ldap

copying Lib\ldap\functions.py -> build\lib.win32-3.4\ldap

copying Lib\ldap\ldapobject.py -> build\lib.win32-3.4\ldap

copying Lib\ldap\logger.py -> build\lib.win32-3.4\ldap

copying Lib\ldap\modlist.py -> build\lib.win32-3.4\ldap

copying Lib\ldap\resiter.py -> build\lib.win32-3.4\ldap

copying Lib\ldap\sasl.py -> build\lib.win32-3.4\ldap

creating build\lib.win32-3.4\ldap\schema

copying Lib\ldap\schema\__init__.py -> build\lib.win32-3.4\ldap\schema

copying Lib\ldap\schema\models.py -> build\lib.win32-3.4\ldap\schema

copying Lib\ldap\schema\subentry.py -> build\lib.win32-3.4\ldap\schema

copying Lib\ldap\schema\tokenizer.py -> build\lib.win32-3.4\ldap\schema

copying Lib\ldap\syncrepl.py -> build\lib.win32-3.4\ldap

file Lib\ldap.py (for module ldap) not found

file Lib\ldap\controls.py (for module ldap.controls) not found

file Lib\ldap\extop.py (for module ldap.extop) not found

file Lib\ldap\schema.py (for module ldap.schema) not found

running egg_info

creating Lib\python_ldap.egg-info

writing top-level names to Lib\python_ldap.egg-info\top_level.txt

writing requirements to Lib\python_ldap.egg-info\requires.txt

writing Lib\python_ldap.egg-info\PKG-INFO

writing dependency_links to Lib\python_ldap.egg-info\dependency_links.txt

writing manifest file 'Lib\python_ldap.egg-info\SOURCES.txt'

warning: manifest_maker: standard file '-c' not found



file Lib\ldap.py (for module ldap) not found

file Lib\ldap\controls.py (for module ldap.controls) not found

file Lib\ldap\extop.py (for module ldap.extop) not found

file Lib\ldap\schema.py (for module ldap.schema) not found

reading manifest file 'Lib\python_ldap.egg-info\SOURCES.txt'

reading manifest template 'MANIFEST.in'

warning: no files found matching 'Makefile'

warning: no files found matching 'LICENCE'

warning: no files found matching 'Modules\LICENSE'

writing manifest file 'Lib\python_ldap.egg-info\SOURCES.txt'

running build_ext

building '_ldap' extension

error: Microsoft Visual C++ 10.0 is required (Unable to find vcvarsall.bat).

----------------------------------------
Cleaning up...
Command C:\Python34\python.EXE -c "import setuptools, tokenize;__file__='D:\Users\my-name\AppData\Local\Temp\pip-5lbm029n-build\setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record D:\Users\my-name\AppData\Local\Temp\pip-14zk049a-record\install-record.txt --single-version-externally-managed --compile failed with error code 1 in D:\Users\my-name\AppData\Local\Temp\pip-5lbm029n-build
Exception information:
Traceback (most recent call last):
  File "C:\Python34\lib\site-packages\pip\basecommand.py", line 122, in main
    status = self.run(options, args)
  File "C:\Python34\lib\site-packages\pip\commands\install.py", line 283, in run
    requirement_set.install(install_options, global_options, root=options.root_path)
  File "C:\Python34\lib\site-packages\pip\req.py", line 1435, in install
    requirement.install(install_options, global_options, *args, **kwargs)
  File "C:\Python34\lib\site-packages\pip\req.py", line 706, in install
    cwd=self.source_dir, filter_stdout=self._filter_install, show_stdout=False)
  File "C:\Python34\lib\site-packages\pip\util.py", line 697, in call_subprocess
    % (command_desc, proc.returncode, cwd))
pip.exceptions.InstallationError: Command C:\Python34\python.EXE -c "import setuptools, tokenize;__file__='D:\Users\my-name\AppData\Local\Temp\pip-5lbm029n-build\setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record D:\Users\my-name\AppData\Local\Temp\pip-14zk049a-record\install-record.txt --single-version-externally-managed --compile failed with error code 1 in D:\Users\my-name\AppData\Local\Temp\pip-5lbm029n-build

相关部分是:

error: Microsoft Visual C++ 10.0 is required (Unable to find vcvarsall.bat).

----------------------------------------
Cleaning up...
Command C:\Python34\python.EXE -c "import setuptools, tokenize;__file__='D:\Users\my-name\AppData\Local\Temp\pip-5lbm029n-build\setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record D:\Users\my-name\AppData\Local\Temp\pip-14zk049a-record\install-record.txt --single-version-externally-managed --compile failed with error code 1 in D:\Users\my-name\AppData\Local\Temp\pip-5lbm029n-build
Exception information:
Traceback (most recent call last):
  File "C:\Python34\lib\site-packages\pip\basecommand.py", line 122, in main
    status = self.run(options, args)
  File "C:\Python34\lib\site-packages\pip\commands\install.py", line 283, in run
    requirement_set.install(install_options, global_options, root=options.root_path)
  File "C:\Python34\lib\site-packages\pip\req.py", line 1435, in install
    requirement.install(install_options, global_options, *args, **kwargs)
  File "C:\Python34\lib\site-packages\pip\req.py", line 706, in install
    cwd=self.source_dir, filter_stdout=self._filter_install, show_stdout=False)
  File "C:\Python34\lib\site-packages\pip\util.py", line 697, in call_subprocess
    % (command_desc, proc.returncode, cwd))
pip.exceptions.InstallationError: Command C:\Python34\python.EXE -c "import setuptools, tokenize;__file__='D:\Users\my-name\AppData\Local\Temp\pip-5lbm029n-build\setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record D:\Users\CAStone\AppData\Local\Temp\pip-14zk049a-record\install-record.txt --single-version-externally-managed --compile failed with error code 1 in D:\Users\my-name\AppData\Local\Temp\pip-5lbm029n-build

我试过从微软网站安装 C++10 (vcredist_x64),但它没有让 vcvarsall.bat 出现在任何地方。

我该怎么做才能解决这个问题?

您需要 Microsoft 2010 C++ 编译器。如果您有 Visual Studio 许可证,那么您可以使用它,否则获得 64 位编译器的唯一方法是从 Windows SDK.