在Mac OS 10.6上使用其他gcc版本重新安装python

发布于 2021-01-29 14:59:28

我正在尝试安装需要运行gcc 4.2的Python软件包。我的gcc正确指向gcc-4.2,即

$ gcc -v
Using built-in specs.
Target: i686-apple-darwin10
Configured with: /var/tmp/gcc/gcc-5664~38/src/configure --disable-checking --enable-werror --prefix=/usr --mandir=/share/man --enable-languages=c,objc,c++,obj-c++ --program-transform-name=/^[cg][^.-]*$/s/$/-4.2/ --with-slibdir=/usr/lib --build=i686-apple-darwin10 --program-prefix=i686-apple-darwin10- --host=x86_64-apple-darwin10 --target=i686-apple-darwin10 --with-gxx-include-dir=/include/c++/4.2.1
Thread model: posix
gcc version 4.2.1 (Apple Inc. build 5664)

但是,我的python是使用gcc 4.0构建的,即

$ python
Python 2.5.4 (r254:67917, Dec 23 2008, 15:47:06) 
[GCC 4.0.1 (Apple Inc. build 5363)] on darwin
Type "help", "copyright", "credits" or "license" for more information.

有什么方法可以在GCC 4.2上重新构建Python, 不必重新安装所有Python软件包?

我的操作系统是Mac OS 10.6。

注意:将gcc指向gcc-4.0并不会帮助我-我需要使用gcc-4.2。

关注者
0
被浏览
82
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    在当前的OS X
    Python上,Distutils尝试确保使用与MACOSX_DEPLOYMENT_TARGETPython解释器本身相同的GCC和(ABI)构建C扩展模块。这样可以确保与基础系统库不会发生冲突。

    但是,如果您使用的是OS X 10.6,则显示的Python版本不是Apple提供的Python之一,它们 都是
    由gcc-4.2构建的。您可能还安装了较旧的python.org 2.5,并带有的符号链接/usr/local/bin

    # OS X 10.6.4
    $ /usr/bin/python -c 'import sys;print(sys.version)'
    2.6.1 (r261:67515, Feb 11 2010, 00:51:29) 
    [GCC 4.2.1 (Apple Inc. build 5646)]
    $ /usr/bin/python2.6 -c 'import sys;print(sys.version)'  # same as above
    2.6.1 (r261:67515, Feb 11 2010, 00:51:29) 
    [GCC 4.2.1 (Apple Inc. build 5646)]
    $ /usr/bin/python2.5 -c 'import sys;print(sys.version)'
    2.5.4 (r254:67916, Feb 11 2010, 00:50:55) 
    [GCC 4.2.1 (Apple Inc. build 5646)]
    $ /usr/local/bin/python2.5 -c 'import sys;print(sys.version);print(sys.executable)'
    2.5.4 (r254:67917, Dec 23 2008, 14:57:27) 
    [GCC 4.0.1 (Apple Computer, Inc. build 5363)]
    /Library/Frameworks/Python.framework/Versions/2.5/Resources/Python.app/Contents/MacOS/Python
    

    which python会告诉您正在调用哪个Python。使用您想要的解释器的绝对路径,或者更改您的Shell PATH或删除旧的Python 2.5。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看