как установить numpy и scipy на OS X?

Эй, ребята я новичок в Mac, поэтому, пожалуйста, медведь со мной.

на данный момент я использую snow leopard 10.6.4.

Я хочу установить numpy и scipy, поэтому я загрузил python2.6, numpy и scipy dmg файлы со своего официального сайта. Однако у меня возникли проблемы с импортом numpy:

Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/numpy/core/multiarray.so: no matching architecture in universal wrapper

может кто-нибудь пролить свет на эту проблему?>

8 ответов


звучит так, как будто вы пытаетесь использовать 32-разрядную библиотеку из 64-разрядного Python. Похоже, есть неофициальный 64-битный Numpy доступен для Snow Leopard.


EDIT: Python 2.6 .dmg доступно здесь действительно 32-бит. (В частности, это универсальный двоичный файл, содержащий версии i386 и ppc). То же самое верно и для обычных numpy и scipy .употр релизы доступны здесь. (Откуда мне знать? Смотрите ниже!) Итак, если вы используйте эти релизы вместе, вы должны быть в порядке.

но вы не в порядке - поэтому я предполагаю, что вы не используете версию Python из 2.6 .употр, который вы скачали. Если вы используете исполняемый скрипт python, например:

$ ./my-script.py

затем вы можете попробовать указать Python, который вы используете явно в командной строке. Похоже на Макпайтона .dmg устанавливается в /usr / local/bin / python, поэтому попробуйте:

$ /usr/local/bin/python2.6 myscript.py

никакой радости?


как я определил архитектура содержание тех.dmg файлы построены для...

  1. смонтировать .ДМГ (т. е. дважды щелкните его, чтобы открыть громкости)
  2. используйте gunzip и pax, чтобы распаковать содержимое пакета в локальный каталог, например:

    $ mkdir tmp
    $ cd tmp
    $ gunzip -c /Volumes/Universal\ MacPython\ 2.6/MacPython.mpkg/Contents/Packages/PythonUnixTools-2.6.pkg/Contents/Archive.pax.gz | pax
    
  3. использовать file для изучения двоичных файлов в содержимом пакета

    $ file Versions/2.6/bin/python
    Versions/2.6/bin/python: Mach-O universal binary with 2 architectures
    Versions/2.6/bin/python (for architecture ppc): Mach-O executable ppc
    Versions/2.6/bin/python (for architecture i386):    Mach-O executable i386
    

У меня было такое же сообщение об ошибке, когда я пытался мой недавно установленный numpy и scipy в python2.7 на Mac OSX 10.6.8 . Позже я узнал, что их было двое .dmg для python2.7:

  • numpy-1.6.2-py2.7-питон.org-macosx10.3.dmg
  • numpy-1.6.2-py2.7-питон.org-macosx10.6.dmg

Это был пакет в 10.3.dmg дает мне сообщение об ошибке о multiarray.Итак. После установки в 10.6.dmg, я избавился от этой ошибки сообщение.


У меня были проблемы с numpy, пока я не установил в virtualenv, теперь у меня нет никаких проблем. Я бы определенно предложил попробовать это.


для snow leopard 64 бит я использовал следующий человек http://blog.hyperjeff.net/?p=160 просто запустите и вы хорошо идти. Также посмотрите комментарии ( новый AMD ...)

здание numpy работает все время. но для scipy вам нужно предоставить конфигурационные файлы numpy. установите компилятором gfortran .....


нет необходимости использовать MacPorts или Fink.

использовать установщик Python 2.6 и этот установщик Numpy. Я думаю, вам нужно сначала установить Numpy, а затем установить Scipy, и все будет работать автоматически. Я помню, что какое-то время мне нужно было явно добавить путь в каталог site-packages в верхней части моих скриптов для Python, чтобы знать, где искать.


лучший способ управления пакетами в OS X-это Финк (не MacPorts :) ). У них хорошая поддержка Python, NumPy и SciPy.

зачем использовать менеджер пакетов? потому что вы не только получите NumPy и SciPy, но и многие другие программы, которые вам неизбежно понадобятся, все с одной точкой входа (в основном команда установки менеджера). Это намного удобнее, чем охотиться за конкретными скомпилированными версиями программ, которые вы хотите установить.

Почему Финка? потому что Fink считается более стабильным, чем MacPorts, и имеет гораздо больше пакетов.


в случае, если это кому-то полезно, у меня также были проблемы с установкой двоичных файлов numpy на OSX. Установщик жаловался, говоря мне, что:

вы не можете установить numpy 1.5.1 на этом томе. numpy требует установки системы Python 2.6.

короче: "System Python" означает " python от python.org " и " 2.6 " означает действительно 2.6, а не 2.5, а не 2.7. Итак, идите и найдите установщик версия python, которую хочет numpy, а затем все отлично.

С моей первой попытки я понял ошибку numpy, сказав мне, что у меня устаревший python, поэтому я получил последнюю версию (2.7 в то время), но numpy продолжал жаловаться все равно. Только после внимательного прочтения сообщения я понял, что это действительно требуется 2.6, а не какая-либо другая версия. Я разгромил первую установку (найдено в /Library/Frameworks/Python.framework) и установил 2.6 после этого. Наконец, numpy был счастлив установите и все было нормально.


Я провел бесчисленные часы, просматривая интернет, пытаясь получить различные пакеты python, работающие в OS X. В конце концов, я нашел самое простое решение-либо полностью переключиться на Ubuntu, либо запустить Ubuntu в Virtualbox из OS X (все бесплатно).

используя менеджер пакетов Ubuntu, apt-get, практически любой пакет, который вы хотите, будет работать из коробки после одной простой команды установки. Это была огромная спешка, когда я впервые получил numpy, scipy и matplotlib и работал меньше больше минуты.

$ sudo apt-get install python-numpy python-scipy python-matplotlib

Я все еще получаю мини-пик каждый раз, когда я это делаю. Не уверен, есть ли пакет debian для модуля, который вы хотите? Как правило, есть, и вы можете искать, скажем, модуль lxml python с:

$ apt-cache search lxml | grep python