2012-12-12 101 views
7

每當我從numpy導入一個模塊時,我在Eclipse 3.7.2中得到「Undefined variable from import」錯誤在Linux Mint Maya(Cinnamon)上的PyDev 2.7.1錯誤。只有導入numpy時纔會出現問題;其他模塊工作得很好。在eclipse中導入numpy時導入的「Undefined variable」pydev

信息:numpy是針對英特爾MKL庫編譯的。蟒2.7.3 [4.6.3 GCC]

例如:

import numpy as np 

a = np.array([1, 2]) 

在編輯的PyDev錯誤消息: 「來自導入未定義變量:數組」

我獲得其他numpy的子模塊類似的錯誤。

代碼可以在Eclipse或終端中正常運行。這個問題只存在於Eclipse-PyDev編輯器中。

回答

2

LD_LIBRARY_PATH必須包含MKL庫的路徑。即使LD_LIBRARY_PATH設置正確,它也必須在Eclipse的右下角的「環境」選項卡下的Window> Preferences> Interpreter-Python下明確指定。添加一個名爲「LD_LIBRARY_PATH」的新變量並粘貼$LD_LIBRARY_PATH的內容。

完成後,如果將某行添加到使用numpy對象的代碼中,以便再次檢查導入,則錯誤只會從代碼中消失。

+0

這似乎不適用於我。 – user10

+0

我的問題:它在一個會話中工作正常。再次退出並啓動LiClipse後,我收到了這個錯誤。第二段解決了我的問題。對於我來說,第一個動作是不必要的(或者我最初配置LiClipse時可以做類似的事情)。 – BenB

+1

似乎有相當多的組件使PyDev(Eclipse/Liclipse)識別numpy。首先,你必須檢查numpy是否正確安裝,如@ElDuderino所示:'>>> from numpy import *'然後你必須「教」pydev爲numpy準備環境。對我來說,這是numpy文件的缺失路徑。 – user1898037

1

MKL庫和numpy是一樣的嗎? @ user1898039的答案對我來說沒有意義(我不知道我應該使用哪個屬性)

我發現了另一種解決此問題的方法 - 我檢查了python命令行以查看numpy是否已安裝有致電:

>>> import from numpy *

並不是這樣,儘管numpy的是顯示了在中的PyDev Python解釋器屬性中的「強制內置命令」選項卡下,這是不提供給蟒蛇從命令行和我想象這導致PyDev內的問題。

所以,我解決了問題通過去numpy網站並安裝最新版本的windows。從技術上講,我去了一些其他網站,有Windows64的安裝程序的AMD64版本,買你知道,一樣的。之後,我試圖讓PYTHONPATH變量重新計算所有的庫(這可能是不必要的),但是在所有對array()的調用中,文件中仍然顯示錯誤。我在numpy軟件包上做了一個自動完成功能,從列表中選擇array(),並且突然清除所有錯誤,現在一切正常。

0

我能夠通過添加下面的路徑PYTHONPATH(Pydev的=> Python解釋=>選擇翻譯=>庫)來解決此問題:

/usr/local/anaconda/lib/python2.7/lib/lib-dynload 

安裝包(其中包括):

conda==3.10.1 
numpy==1.9.2 
scipy==0.15.1 
0

我設法通過更新Eclipse中的Phyton解釋器來修復它。點擊成功安裝Numpy模塊後的應用按鈕。

+0

哪個操作系統/ Eclipse版本可以實現這個功能?沒有爲我工作。可能是操作系統或Eclipse版本的東西。我使用Eclipse 3.6.2運行Windows 7 32位。 (古代,我知道......) –