Переустановка python в Mac OS 10.6 с другой версией gcc - PullRequest
1 голос
/ 17 августа 2010

Я пытаюсь установить пакет Python, который требует запуска gcc 4.2.Мой 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, т.е.на GCC 4.2 без переустановки всех моих пакетов Python?

Моя операционная система - Mac OS 10.6.

ПРИМЕЧАНИЕ.gcc-4.0 - мне нужно использовать gcc-4.2.

Ответы [ 2 ]

3 голосов
/ 17 августа 2010

На текущих OS X Pythons Distutils пытается гарантировать, что модули расширения C построены с использованием того же GCC и MACOSX_DEPLOYMENT_TARGET (ABI), что и сам интерпретатор Python.Это гарантирует, что не будет конфликтов с базовыми системными библиотеками.

Но если вы используете OS X 10.6, то версия Python, которую вы показываете, не является одним из поставляемых Apple питонов, оба из которых построены с 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 вызывается.Либо используйте абсолютный путь к нужному интерпретатору, либо измените PATH вашей оболочки, либо удалите старый Python 2.5.

1 голос
/ 17 августа 2010

Скорее всего, это проблема distutils, вам не нужно перекомпилировать python или переустанавливать какие-либо пакеты.

Проверяли ли вы, на какую версию установлена ​​ваша переменная окружения CC?Вполне возможно, все еще будет установлено значение 4.0.Вы можете попробовать:

export CC=gcc-4.2
python setup.py build

Вы также можете взглянуть на:

/Library/Frameworks/Python.framework/Versions/Current/lib/python2.5/config/Makefile

Отсюда distutils получает настройки сборки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...