2013-03-16 129 views
0

我嘗試在我的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! 

有人能告訴我如何解決這個問題?

+0

[build scipy error cythonize failed]可能的重複(http://stackoverflow.com/questions/15175135/build-scipy-error-cythonize-failed) – 2013-03-16 13:08:14

回答

1

您是否嘗試過使用爲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這樣的命令將按照正確的順序安裝foobarbaz端口的最新版本以及它們可能需要的任何依賴項。某些端口具有二進制分發,而其他端口則根據需要進行編譯,因此第一次運行時可能需要安裝依賴關係的批號。 MacPorts的一個很好的功能是,您可以同時安裝一些軟件包的多個版本,並且可以根據需要在它們之間切換。此外,如果port search提供的結果太多,則在線search engine可以幫助您找到要查找的內容。

得到一個體面的基於IPython中的Python 2的開發環境去,你會需要以下:

  • python27
  • py27-ipython
  • py27-numpy
  • py27-scipy
  • py27-matplotlib(如果您喜歡畫漂亮的圖片,但主要是你可以得到pylab
  • py27-pandasDataFrame s是你的朋友!)
  • 也許py27-pyqt4,如果你通過qtconsole選項

運行IPython中我還安裝py-pippy27-distribute這樣你就可以,如果沒有MacPort版本上自己安裝模塊。

最後,如果你是一個具有前瞻性的人,你想使用numpy等。在Python 3上,MacPorts已經涵蓋了!除scipy之外,上述所有軟件包都有py32py33版本,現在只有py32。不過,我能夠在pip的條件下安裝它,儘管我的機器上有很多其他的開發工具,而且我運行的是10.8.2,所以YMMV。

祝你好運!

+0

是的我試過了,但事實證明總是這樣當我安裝了「scipy 0.11.0不能安裝在這個磁盤上的錯誤信息。scipy需要python.org Python 2.6來安裝」。但是我已經安裝了python 2.6.1 – Lilianna 2013-03-16 14:44:23

+0

你需要2.6還是2.7才行? – MattDMo 2013-03-16 14:56:28

+0

2.7是好的。其實我有2.6和ipython ... – Lilianna 2013-03-16 16:28:48