码迷,mamicode.com
首页 > 系统相关 > 详细

mac osx 10.10 pip 安装问题

时间:2014-12-16 19:01:16      阅读:363      评论:0      收藏:0      [点我收藏+]

标签:ar   io   os   sp   on   问题   bs   ef   as   

在mac osx 升级到 10.10(Yosemite)以后,用pip以及easy_install 安装python包的时候,如果包需要编译,就会编译失败,错误如下:

build/temp.macosx-10.10-x86_64-2.7/greenlet.o -o build/lib.macosx-10.10-x86_64-2.7/greenlet.so

ld: file not found: python.exe

clang: error: linker command failed with exit code 1 (use -v to see invocation)

error: command ‘clang‘ failed with exit status 1

xcode升级到6.1以后python安装编译默认clang

当时很困惑为什么在osx中出现python.exe, stackoverflow 上说这只是osx中默认的名称,没有实际意义,可忽略

在stackoverflow中给的答案:

可以在 pip install 之前加上 ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future 忽略这个报错,但是这并没有解决问题

真正的问题在于python本身的问题,造成不能正常安装

问题在于:在 Python 的源码里configure.ac :

        case $ac_sys_system/$ac_sys_release in
        ...
        Darwin/*)
                # Use -undefined dynamic_lookup whenever possible (10.3 and later).
                # This allows an extension to be used in any Python

                if test ${MACOSX_DEPLOYMENT_TARGET} ‘>‘ 10.2
                then
                        if test "${enable_universalsdk}"; then
                                LDFLAGS="${UNIVERSAL_ARCH_FLAGS} -isysroot ${UNIVERSALSDK} ${LDFLAGS}"
                        fi
                        LDSHARED=‘$(CC) -bundle -undefined dynamic_lookup‘
                        LDCXXSHARED=‘$(CXX) -bundle -undefined dynamic_lookup‘
                        BLDSHARED="$LDSHARED"
                else
                        LDSHARED=‘$(CC) -bundle‘

问题出在   if test ${MACOSX_DEPLOYMENT_TARGET} ‘>‘ 10.2 

版本10.10 < 10.2 真正的问题来了

解决办法

首先需要安装Command-Line Tool(如果没有安装 执行命令xcode-select --install 进行安装)

在python2.7.6以下都有这个问题,最简单的办法是安装2.7.8以上

 

mac osx 10.10 pip 安装问题

标签:ar   io   os   sp   on   问题   bs   ef   as   

原文地址:http://www.cnblogs.com/iminic/p/4167670.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!