Подтвердить что ты не робот

Numpy и scipy для предустановленного python 2.6.7 на Mac OS Lion

В любом случае, чтобы установить numpy и scipy на python 2.6.7, который поставляется с Mac OS Lion? Я знаю, что у Lion есть и Python 2.7. Но мне нужно придерживаться Python 2.6, потому что я использую модуль, который не работает на Python 2.7.

4b9b3361

Ответ 1

Lion поставляется с easy_install для каждой из своих реализаций на Python: /usr/bin/easy_install-2.7 для /usr/bin/python2.7, а также для 2.6 и 2.5.

Однако scipy требует компилятора Fortran, а у Lion нет одного из них. Также похоже, что вы должны иметь компилятор Fortran на месте перед установкой numpy, или scipy не может быть установлен позже.

Сначала вам нужны инструменты командной строки Xcode. (Apple часто меняет имя этого пакета - это могут быть "инструменты разработки Unix" или "CLI Development Toolchain" и т.д., В зависимости от вашей версии Xcode.)

Они могут быть установлены самим Xcode. Если вы используете 4.3.x, после установки Xcode из App Store запустите его, перейдите в "Настройки", "Загрузки", "Компоненты" и нажмите кнопку "Установить" рядом с "Инструменты командной строки". Для разных версий или если вы хотите установить их без Xcode, страница Homebrew (см. Ниже) объясняет, как их получить, или вы можете посмотреть вокруг Сайт разработчика Apple.

Если у вас уже есть менеджер пакетов (Homebrew, MacPorts или Fink), используйте это. Если вы этого не сделаете, установите Homebrew:

curl https://raw.github.com/gist/323731/25f99360c7de3f72027d8fd07cb369b1c8756ea6/install_homebrew.rb -o /tmp/install_homebrew.rb
ruby /tmp/install_homebrew.rb
rehash

Затем установите gfortran следующим образом:

brew install gfortran

Теперь вы готовы установить numpy и scipy. Если вы предпочитаете pip для easy_install (если вы не знаете, вы, вероятно, предпочитаете pip), вы должны установить это в первую очередь:

sudo easy_install-2.6 pip

Затем используйте его для установки пакетов:

sudo pip-2.6 install numpy

В зависимости от вашей конкретной версии ОС и других деталей у вас может быть встроенный numpy для версии 2.6, но этот numpy не поддерживает Fortran. Вы можете это сказать, потому что sudo pip-2.6 install numpy говорит Requirement already satisfied (use --upgrade to upgrade): numpy in /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python. Решение состоит в том, чтобы точно указать сообщение об ошибке:

sudo pip-2.6 install --upgrade numpy

И наконец:

sudo pip-2.6 install scipy

Ответ 2

У меня возникали аналогичные проблемы с установкой SciPy на Mountain Lion.

OSX Mountain Lion 10.8

Python 2.7.3

pip 1.1

brew 0.9.2

GNU Fortran (GCC) 4.2.1

Некоторые из ошибок, которые я получал, включают:

Это:

pip install scipy

Упомянута эта ошибка:

Could not locate executable pgfortran

don't know how to compile Fortran code on platform 'posix'

building 'dfftpack' library

error: library dfftpack has Fortran sources but no Fortran compiler found

Это привело меня к поиску компилятора Fortran:

Эта команда:

brew install gfortran

Это дало эту ошибку:

Error: Currently the gfortran compiler provided by this brew is only supports the following versions of XCode:

    - XCode 3.1.4 on OS X 10.5.x
    - XCode 3.2.2/3.2.3 -- 4.0 on OS X 10.6.x
    - XCode 4.1 or newer on OS X 10.7.x

The AppStore and Software Update can help upgrade your copy of XCode.
The latest version of XCode is also available from:

http://developer.apple.com/technologies/xcode.html

Что привело меня к сообщению в блоге: http://www.joewandy.com/. Я придерживался этой рекомендации:

Эта команда:

brew edit gfortran

откроет файл с помощью xcode. Я изменил этот файл в двух местах:

Тезисы 2 строки:

if MacOS.xcode_version >= '4.2' and MACOS_VERSION == 10.7
    ohai "Installing gfortran 4.2.4 for XCode 4.2 (build 5666)"

Изменено на:

if MacOS.xcode_version >= '4.2' and MACOS_VERSION >= 10.7
    ohai "Installing gfortran 4.2.4 for XCode 4.2 (build 5666) or higher"

Другими словами:

Изменено == 10.7 на >= 10.7 а также Изменено XCode 4.2 (build 5666) на XCode 4.2 (build 5666) or higher

Тогда я сделал

brew install gfortran

снова. который был успешным с сообщением:

Downloading http://r.research.att.com/tools/gcc-42-5666.3-darwin11.pkg

Already downloaded: /Library/Caches/Homebrew/gfortran-4.2.4-5666.3.pkg
==> Installing gfortran 4.2.4 for XCode 4.2 (build 5666) or higher
==> Caveats
Brews that require a Fortran compiler should not use:

depends_on 'gfortran'

The preferred method of declaring Fortran support is to use:

def install
    ...
    ENV.fortran
    ...
end

==> Summary

/usr/local/Cellar/gfortran/4.2.4-5666.3: 86 files, 72M, built in 2 seconds

Тогда я сделал:

pip install scipy

но это дало мне следующее:

#error "<vecLib/vecLib.h> is deprecated.  Please #include <Accelerate/Accelerate.h> and link to Accelerate.framework."

Затем я нашел это сообщение в блоге: Компиляция SciPy на горном льве http://www.thisisthegreenroom.com/2012/compiling-scipy-on-mountain-lion/

который сказал, что использует эту команду:

pip install -e git+https://github.com/scipy/scipy#egg=scipy-dev

Это заняло около 5-6 минут, чтобы завершить

Installed /Users/hernamesbarbara/src/scipy
Successfully installed scipy
Cleaning up...

после чего я мог сделать

python


Python 2.7.3 (v2.7.3:70274d53c1dd, Apr  9 2012, 20:52:43) 
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import scipy
>>> help(scipy)

    Help on package scipy:

NAME
    scipy

Успех!

Установлена ​​версия SciPy:

full_version = '0.12.0.dev-14b1e07'
git_revision = '14b1e07602ff33a6e8250eb2bc7a6816677606a9'
release = False
short_version = '0.12.0'
version = '0.12.0.dev-14b1e07'

Ответ 3

Я думаю, вам не нужно устанавливать Brew и XCode, а не компилировать gfortran самостоятельно: я установил скомпилированную версию gfortran из http://hpc.sourceforge.net и все, кажется, работает. (Я на 10.7.5)