我嘗試在我的mac 10.6.8上安裝scipy,但總是遇到問題。我已經安裝IPython中(sudo /usr/bin/easy_install-2.6 ipython
)和numpy的(python setup.py build/install
),但是當我用同樣的方式安裝SciPy的,我總是這樣的錯誤消息:在mac上安裝scipy 10.6.8
RuntimeError: Running cythonize failed!
有人能告訴我如何解決這個問題?
我嘗試在我的mac 10.6.8上安裝scipy,但總是遇到問題。我已經安裝IPython中(sudo /usr/bin/easy_install-2.6 ipython
)和numpy的(python setup.py build/install
),但是當我用同樣的方式安裝SciPy的,我總是這樣的錯誤消息:在mac上安裝scipy 10.6.8
RuntimeError: Running cythonize failed!
有人能告訴我如何解決這個問題?
您是否嘗試過使用爲OSX提供的binaries?這應該確保一切正常。
編輯
我發現控制住軟件包的依賴最簡單的方法是使用MacPorts儘可能多的,因爲不像自制,包裝設計一起工作和依賴關係是(幾乎總是)當你嘗試安裝某些東西時會自動安裝。
因此,首先,爲Snow Leopard安裝使用the installer的MacPorts。選擇將端口安裝到/opt/local
等獨特目錄中的選項,以便它們不會與操作系統依賴的任何內置版本衝突。此外,確保/opt/local/bin
和/opt/local/sbin
添加到您的$PATH
以前系統目錄,如/usr/bin
,/bin
,/sbin
等。這樣,當你從你得到你想要的版本命令提示符下運行python
。您的~/.profile
應該有像export PATH="/opt/local/bin:/opt/local/sbin:$PATH
這樣的最後一行。
MacPorts安裝完成後,您可能需要重新啓動才能確保您的所有環境變量都已正確設置。啓動Terminal.app(或您最喜歡的替代品)並輸入which port
,如果一切正常,應返回/opt/local/bin/port
。接下來,運行sudo port selfupdate
只是爲了確保一切都正確同步。一旦完成,我們可以安裝python和一些模塊。 port
允許您傳遞要安裝的端口列表,因此像sudo port install foo bar baz
這樣的命令將按照正確的順序安裝foo
,bar
和baz
端口的最新版本以及它們可能需要的任何依賴項。某些端口具有二進制分發,而其他端口則根據需要進行編譯,因此第一次運行時可能需要安裝依賴關係的批號。 MacPorts的一個很好的功能是,您可以同時安裝一些軟件包的多個版本,並且可以根據需要在它們之間切換。此外,如果port search
提供的結果太多,則在線search engine可以幫助您找到要查找的內容。
得到一個體面的基於IPython中的Python 2的開發環境去,你會需要以下:
python27
py27-ipython
py27-numpy
py27-scipy
py27-matplotlib
(如果您喜歡畫漂亮的圖片,但主要是你可以得到pylab
)py27-pandas
(DataFrame
s是你的朋友!)py27-pyqt4
,如果你通過qtconsole
選項運行IPython中我還安裝py-pip
和py27-distribute
這樣你就可以,如果沒有MacPort版本上自己安裝模塊。
最後,如果你是一個具有前瞻性的人,你想使用numpy
等。在Python 3上,MacPorts已經涵蓋了!除scipy
之外,上述所有軟件包都有py32
和py33
版本,現在只有py32
。不過,我能夠在pip
的條件下安裝它,儘管我的機器上有很多其他的開發工具,而且我運行的是10.8.2,所以YMMV。
祝你好運!
[build scipy error cythonize failed]可能的重複(http://stackoverflow.com/questions/15175135/build-scipy-error-cythonize-failed) – 2013-03-16 13:08:14