【问题标题】:How to specify the SDK version used when installing a Python package on Mac OS X?在 Mac OS X 上安装 Python 包时如何指定使用的 SDK 版本?
【发布时间】:2011-06-30 10:38:54
【问题描述】:

我正在尝试在 Mac OS X 10.6 上安装 python-ldap,但我得到了this error,因为它使用的是 10.4u.sdk 而不是 10.6.sdk。如何指定要使用的 SDK 版本?到目前为止,我尝试将 MACOSX_DEPLOYMENT_TARGET 环境变量指定为 10.6,将 SDKROOT 指定为 /Developer/SDKs/MacOSX10.6.sdk,但仍然使用 10.4u.sdk。任何帮助表示赞赏。

【问题讨论】:

    标签: python macos ldap


    【解决方案1】:

    在 Mac OS X 上安装带有 C 扩展模块的 Python 包时,Python 将自动使用构建解释器的 SDK 和部署目标。大概您正在使用仅 32 位的 Python,可能来自 python.org 安装程序之一。这些 Python 是使用 10.4u SDK 构建的,以便与旧系统兼容。如果您使用的是 Xcode 3,则默认未安装 10.4u SDK,但您可以运行 Xcode 3 安装程序并选择它。如果您使用的是 Xcode 4,那么您可能不走运,因为它不包含 10.4u SDK(或者我理解)。您可以从 python.org 安装更新的 64 位/32 位仅 10.6 Python 2.7,或者您可以使用 Apple 提供的 Python 2.6 (/usr/bin/python2.6)。

    【讨论】:

    • 问题是我不希望使用10.4u,因为它附带的ldap.h文件不包含python-ldap所需的常量。该常量只能在 10.6 附带的文件中找到。
    • 安装确实使用了 /Library/Frameworks 中的 Python。我如何让它使用 /usr/bin/python2.6,这是否需要任何其他更改?
    • 既然您似乎在使用pip,您应该可以通过使用-E 选项告诉pip 使用不同的Python 来做到这一点。像这样的东西应该可以工作:pip -E /usr/bin/python2.6 install python-ldap。您可能需要在其前面加上sudo。否则,您可以将 Apple 提供的 easy_install 用于系统 Python:/usr/bin/easy_install-2.6 -Z python-ldap
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-07-01
    • 2015-05-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多