簡體   English   中英

如何安裝numpy的32位版本

[英]How do I install a 32-bit version of numpy

經過大量的努力,我終於有了matplotlib及其所有依賴項,在Snow Leopard 10.6.8上和諧地工作。 現在,我想稍微調整一下它的配置,以允許我將wxPython的32位安裝用作其后端。 問題是當我使用32位安裝的Python 2.7.3(python.org版本)時,numpy(matplotlib要求)將不會導入。 谷歌搜索一個小時左右,使我相信可以通過與setup.py一起指定CFLAGS和LDFLAGS來將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嗎?

我只是花了幾天的時間四處張望,把頭發拔了出來,所以我想我會在這里為我所發現的做出貢獻...

我遇到了同樣的問題,但僅設置標志對我來說不起作用(但確實需要這樣做)...就我而言,我有一個單獨的32位版本的python,所以我做到了:

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

(不必擔心前綴中的gfortran東西,幸運的是我不得不測試不同的編譯器。;)

但是然后我會得到一個錯誤,最后一行會說:“ RuntimeError:斷開的工具鏈:無法鏈接簡單的C程序”

但是如果我向上滾動,就會有:

gcc -pthread _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'],

(在link_executable函數中;如果您使用的是其他版本的python ...)

和voila ... numpy已成功在32位模式下安裝在64位計算機上。.我認為這也適用於其他模塊,因為它與distutils相關,而不是numpy ..;)

希望這可以在將來對某人有所幫助並節省一些時間!

夏娃 - 瑪麗·

您可以嘗試使用EPD的免費版本(如果您處於學術界,則可以免費使用完整版本):

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

它具有適用於Mac的32位版本,其中包含所有關鍵的科學堆棧軟件包,包括scipy,numpy和matplotlib。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM