python - pip install 在 vi​​rtualenv 中失败,而在 virtualenv 之外成功

标签 python gcc centos ldap virtualenv

我们在 centos 上安装了 virtualenv,基于 python 2.7。
大多数库的 pip install 成功,但例如尝试 pip install python-ldap - 失败。即使 virtualenv 外部的相同 pip 安装成功,也会发生这种情况。

我们运行 CentOS 7。

(py2.7) ramia@vd-ramia:~$  pip install python-ldap==2.4.15
Collecting python-ldap==2.4.15
/home/ramia/envs/py2.7/lib/python2.7/site-packages/pip/_vendor/requests/packages/urllib3/util/ssl_.py:318: SNIMissingWarning: An HTTPS request has been made, but the SNI (Subject Name Indication) extension to TLS is not available on this platform. This may cause the server to present an incorrect TLS certificate, which can cause validation failures. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#snimissingwarning.
  SNIMissingWarning
/home/ramia/envs/py2.7/lib/python2.7/site-packages/pip/_vendor/requests/packages/urllib3/util/ssl_.py:122: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning.
  InsecurePlatformWarning
  Using cached python-ldap-2.4.15.tar.gz
Requirement already satisfied (use --upgrade to upgrade): setuptools in /home/ramia/envs/py2.7/lib/python2.7/site-packages (from python-ldap==2.4.15)
Building wheels for collected packages: python-ldap
  Running setup.py bdist_wheel for python-ldap ... error
  Complete output from command /home/ramia/envs/py2.7/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-49710t/python-ldap/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" bdist_wheel -d /tmp/tmpY1tbnWpip-wheel- --python-tag cp27:
  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 bdist_wheel
  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
  creating build/lib.linux-x86_64-2.7
  copying Lib/ldapurl.py -> build/lib.linux-x86_64-2.7
  copying Lib/ldif.py -> build/lib.linux-x86_64-2.7
  copying Lib/dsml.py -> build/lib.linux-x86_64-2.7
  creating build/lib.linux-x86_64-2.7/ldap
  copying Lib/ldap/__init__.py -> build/lib.linux-x86_64-2.7/ldap
  copying Lib/ldap/async.py -> build/lib.linux-x86_64-2.7/ldap
  creating build/lib.linux-x86_64-2.7/ldap/controls
  copying Lib/ldap/controls/__init__.py -> build/lib.linux-x86_64-2.7/ldap/controls
  copying Lib/ldap/controls/libldap.py -> build/lib.linux-x86_64-2.7/ldap/controls
  copying Lib/ldap/controls/openldap.py -> build/lib.linux-x86_64-2.7/ldap/controls
  copying Lib/ldap/controls/ppolicy.py -> build/lib.linux-x86_64-2.7/ldap/controls
  copying Lib/ldap/controls/psearch.py -> build/lib.linux-x86_64-2.7/ldap/controls
  copying Lib/ldap/controls/pwdpolicy.py -> build/lib.linux-x86_64-2.7/ldap/controls
  copying Lib/ldap/controls/readentry.py -> build/lib.linux-x86_64-2.7/ldap/controls
  copying Lib/ldap/controls/sessiontrack.py -> build/lib.linux-x86_64-2.7/ldap/controls
  copying Lib/ldap/controls/simple.py -> build/lib.linux-x86_64-2.7/ldap/controls
  copying Lib/ldap/cidict.py -> build/lib.linux-x86_64-2.7/ldap
  copying Lib/ldap/dn.py -> build/lib.linux-x86_64-2.7/ldap
  creating build/lib.linux-x86_64-2.7/ldap/extop
  copying Lib/ldap/extop/__init__.py -> build/lib.linux-x86_64-2.7/ldap/extop
  copying Lib/ldap/extop/dds.py -> build/lib.linux-x86_64-2.7/ldap/extop
  copying Lib/ldap/filter.py -> build/lib.linux-x86_64-2.7/ldap
  copying Lib/ldap/functions.py -> build/lib.linux-x86_64-2.7/ldap
  copying Lib/ldap/ldapobject.py -> build/lib.linux-x86_64-2.7/ldap
  copying Lib/ldap/logger.py -> build/lib.linux-x86_64-2.7/ldap
  copying Lib/ldap/modlist.py -> build/lib.linux-x86_64-2.7/ldap
  copying Lib/ldap/resiter.py -> build/lib.linux-x86_64-2.7/ldap
  copying Lib/ldap/sasl.py -> build/lib.linux-x86_64-2.7/ldap
  creating build/lib.linux-x86_64-2.7/ldap/schema
  copying Lib/ldap/schema/__init__.py -> build/lib.linux-x86_64-2.7/ldap/schema
  copying Lib/ldap/schema/models.py -> build/lib.linux-x86_64-2.7/ldap/schema
  copying Lib/ldap/schema/subentry.py -> build/lib.linux-x86_64-2.7/ldap/schema
  copying Lib/ldap/schema/tokenizer.py -> build/lib.linux-x86_64-2.7/ldap/schema
  copying Lib/ldap/syncrepl.py -> build/lib.linux-x86_64-2.7/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 requirements to Lib/python_ldap.egg-info/requires.txt
  writing Lib/python_ldap.egg-info/PKG-INFO
  writing top-level names to Lib/python_ldap.egg-info/top_level.txt
  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 'Modules/LICENSE'
  writing manifest file 'Lib/python_ldap.egg-info/SOURCES.txt'
  running build_ext
  building '_ldap' extension
  creating build/temp.linux-x86_64-2.7
  creating build/temp.linux-x86_64-2.7/Modules
  gcc -pthread -fno-strict-aliasing -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -fPIC -DHAVE_SASL -DHAVE_TLS -DHAVE_LIBLDAP_R -DHAVE_LIBLDAP_R -DLDAPMODULE_VERSION=2.4.15 -IModules -I/opt/openldap-RE24/include -I/usr/include/sasl -I/usr/include -I/usr/include/python2.7 -c Modules/LDAPObject.c -o build/temp.linux-x86_64-2.7/Modules/LDAPObject.o
  In file included from Modules/LDAPObject.c:9:0:
  Modules/errors.h:8:18: fatal error: lber.h: No such file or directory
   #include "lber.h"
                    ^
  compilation terminated.
  error: command 'gcc' failed with exit status 1

  ----------------------------------------
  Failed building wheel for python-ldap
  Running setup.py clean for python-ldap
Failed to build python-ldap
Installing collected packages: python-ldap
  Running setup.py install for python-ldap ... error
    Complete output from command /home/ramia/envs/py2.7/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-49710t/python-ldap/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-fsuT_N-record/install-record.txt --single-version-externally-managed --compile --install-headers /home/ramia/envs/py2.7/include/site/python2.7/python-ldap:
    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
    creating build/lib.linux-x86_64-2.7
    copying Lib/ldapurl.py -> build/lib.linux-x86_64-2.7
    copying Lib/ldif.py -> build/lib.linux-x86_64-2.7
    copying Lib/dsml.py -> build/lib.linux-x86_64-2.7
    creating build/lib.linux-x86_64-2.7/ldap
    copying Lib/ldap/__init__.py -> build/lib.linux-x86_64-2.7/ldap
    copying Lib/ldap/async.py -> build/lib.linux-x86_64-2.7/ldap
    creating build/lib.linux-x86_64-2.7/ldap/controls
    copying Lib/ldap/controls/__init__.py -> build/lib.linux-x86_64-2.7/ldap/controls
    copying Lib/ldap/controls/libldap.py -> build/lib.linux-x86_64-2.7/ldap/controls
    copying Lib/ldap/controls/openldap.py -> build/lib.linux-x86_64-2.7/ldap/controls
    copying Lib/ldap/controls/ppolicy.py -> build/lib.linux-x86_64-2.7/ldap/controls
    copying Lib/ldap/controls/psearch.py -> build/lib.linux-x86_64-2.7/ldap/controls
    copying Lib/ldap/controls/pwdpolicy.py -> build/lib.linux-x86_64-2.7/ldap/controls
    copying Lib/ldap/controls/readentry.py -> build/lib.linux-x86_64-2.7/ldap/controls
    copying Lib/ldap/controls/sessiontrack.py -> build/lib.linux-x86_64-2.7/ldap/controls
    copying Lib/ldap/controls/simple.py -> build/lib.linux-x86_64-2.7/ldap/controls
    copying Lib/ldap/cidict.py -> build/lib.linux-x86_64-2.7/ldap
    copying Lib/ldap/dn.py -> build/lib.linux-x86_64-2.7/ldap
    creating build/lib.linux-x86_64-2.7/ldap/extop
    copying Lib/ldap/extop/__init__.py -> build/lib.linux-x86_64-2.7/ldap/extop
    copying Lib/ldap/extop/dds.py -> build/lib.linux-x86_64-2.7/ldap/extop
    copying Lib/ldap/filter.py -> build/lib.linux-x86_64-2.7/ldap
    copying Lib/ldap/functions.py -> build/lib.linux-x86_64-2.7/ldap
    copying Lib/ldap/ldapobject.py -> build/lib.linux-x86_64-2.7/ldap
    copying Lib/ldap/logger.py -> build/lib.linux-x86_64-2.7/ldap
    copying Lib/ldap/modlist.py -> build/lib.linux-x86_64-2.7/ldap
    copying Lib/ldap/resiter.py -> build/lib.linux-x86_64-2.7/ldap
    copying Lib/ldap/sasl.py -> build/lib.linux-x86_64-2.7/ldap
    creating build/lib.linux-x86_64-2.7/ldap/schema
    copying Lib/ldap/schema/__init__.py -> build/lib.linux-x86_64-2.7/ldap/schema
    copying Lib/ldap/schema/models.py -> build/lib.linux-x86_64-2.7/ldap/schema
    copying Lib/ldap/schema/subentry.py -> build/lib.linux-x86_64-2.7/ldap/schema
    copying Lib/ldap/schema/tokenizer.py -> build/lib.linux-x86_64-2.7/ldap/schema
    copying Lib/ldap/syncrepl.py -> build/lib.linux-x86_64-2.7/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
    writing requirements to Lib/python_ldap.egg-info/requires.txt
    writing Lib/python_ldap.egg-info/PKG-INFO
    writing top-level names to Lib/python_ldap.egg-info/top_level.txt
    writing dependency_links to Lib/python_ldap.egg-info/dependency_links.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 'Modules/LICENSE'
    writing manifest file 'Lib/python_ldap.egg-info/SOURCES.txt'
    running build_ext
    building '_ldap' extension
    creating build/temp.linux-x86_64-2.7
    creating build/temp.linux-x86_64-2.7/Modules
    gcc -pthread -fno-strict-aliasing -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -fPIC -DHAVE_SASL -DHAVE_TLS -DHAVE_LIBLDAP_R -DHAVE_LIBLDAP_R -DLDAPMODULE_VERSION=2.4.15 -IModules -I/opt/openldap-RE24/include -I/usr/include/sasl -I/usr/include -I/usr/include/python2.7 -c Modules/LDAPObject.c -o build/temp.linux-x86_64-2.7/Modules/LDAPObject.o
    In file included from Modules/LDAPObject.c:9:0:
    Modules/errors.h:8:18: fatal error: lber.h: No such file or directory
     #include "lber.h"
                      ^
    compilation terminated.
    error: command 'gcc' failed with exit status 1

    ----------------------------------------
Command "/home/ramia/envs/py2.7/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-49710t/python-ldap/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-fsuT_N-record/install-record.txt --single-version-externally-managed --compile --install-headers /home/ramia/envs/py2.7/include/site/python2.7/python-ldap" failed with error code 1 in /tmp/pip-build-49710t/python-ldap/

有任何想法吗?

谢谢

最佳答案

原来升级Centos版本到 CentOS Linux 发行版 7.1.1503(核心)解决了这个问题。

干杯

关于python - pip install 在 vi​​rtualenv 中失败,而在 virtualenv 之外成功,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37371811/

相关文章:

python - 如何从 ast.FunctionDef 节点创建函数对象?

python - 多索引数据框 pandas 中的操作

c++ - GLIBC 的版本

c++ - 创建具有根访问权限的 CLI 应用程序

Python Mechanize 更改未命名的输入值(已知 id)

Python:如何强制 1 元素 NumPy 数组为二维数组?

c - 在 Windows 上获取 C 中的当前工作目录

gcc - golang 在使用和不使用 cgo 进行构建时使用的汇编程序

c - 使用 gcc(resp.MinGW)编译器的 C 函数是否有最大数量的参数?

mysql - 在 Centos 6.4 上安装 MySQL 5.6 的最佳方式