2012-06-29 64 views
0

經過很多努力,我終於獲得了matplotlib及其所有依賴關係,在Snow Leopard 10.6.8上和諧運行。我現在想稍微調整它的配置,讓我可以使用我的32位安裝wxPython作爲它的後端。問題是,當我使用Python 2.7.3(python.org版本)的32位安裝時,numpy(matplotlib所要求的)不會被導入。谷歌搜索了一個小時左右讓我相信,numpy可以通過指定CFLAGS和LDFLAGS與setup.py相結合來構建和安裝爲32位。我不清楚這些標誌是幹什麼的,並不奇怪我沒有成功使用它們。這是我從下載numpy的文件夾內的嘗試:如何安裝32位版本的numpy

$ CLFLAGS=-m32 LDFLAGS=-m32 python setup.py install 

我得到一些錯誤信息,但numpy的64位兼容版本並在我的sitepackages文件夾到達。當我使用32位的解釋,但是我得到一個錯誤:

ImportError: dynamic module does not define init function (initmultiarray) 

我說得對想我可以建立一個32位的numpy的?

回答

0

你可以嘗試使用EPD的免費版本(或滿版是免費的,如果你在學術界是):

http://www.enthought.com/products/epd_free.php/

這對MAC的32位版本的所有的包括scipy,numpy和matplotlib在內的關鍵科學堆棧包。

+0

在過去某些時候,我想我也有與環保署版本一去,而且我也試圖與MacPorts的安裝所有這些軟件包。我不記得他們遇到任何問題,但試圖單獨做這些事情的部分原因是想了解更多有關Unix/OS X上安裝的細節和概念的想法 –

4

我只花了兩天環顧四周,拉我的頭髮,所以我想我會在這裏有助於我發現了什麼......

我有同樣的問題,但只設置標誌不會爲工作我(但這確實需要)...在我的情況下,我有一個單獨的32位版本的蟒蛇,所以我做了:所以我做了:

CFLAGS =「 - m32」LDFLAGS =「 - m32」/ util/linux32/bin/python setup.py install --prefix =/util/science/gfortran-4.4.6/linux32/

(不要擔心我前綴中的gfortran事情,幸運的是我不得不測試不同的編譯器.. ;))

但我會得到一個錯誤,最後一行會說: 「RuntimeError:破碎的工具鏈:不能鏈接一個簡單的C程序」

但如果我向上滾動我有:

GCC - 並行線程_configtest.o -o _configtest

_configtest.o:格式錯誤的文件

collect2:看不懂的符號LD返回1個退出狀態

_configtest.o:格式錯誤的文件

collect2:看不懂的符號LD返回1次退出狀態

失敗。

刪除:_configtest.c _configtest.o

,正如你可以看到在調用gcc的,沒有 「-m32」 標誌...

我將其追溯到distutils安裝;我在那裏: /util/linux32/lib/python2.7/distutils/ccompiler.py

,並有可能是比這更完美的解決方案,比如直接獲得CFLAGS值,但我不是一個Python女孩所以不知道如何..;)我可能可以搞清楚,但我現在關心的是最終安裝numpy在32位模式.. 所以反正...這條python代碼行693,我改變了

runtime_library_dirs=None, debug=0, extra_preargs=None, 

runtime_library_dirs=None, debug=0, extra_preargs=['-m32'], 

(在第e函數link_executable;如果你有不同版本的Python ...)

and voila ... numpy成功安裝在32位模式的64位機器上..我想這也適用於其他模塊,因爲它與distutils相關,不是numpy ..;)

希望這可以幫助某人在未來並節省一些時間!

夏娃 - 瑪麗

相關問題