2013-11-15 52 views
4

我在Eclipse中導入numpy模塊時出現問題。 import numpy行運行沒有問題。但是,如果我嘗試使用numpy模塊中的函數(例如numpy.zeros,numpy.uint8等),則會收到錯誤Undefined variable from importPyDev - Eclipse可以導入numpy但沒有它的功能?

這些函數在python解釋器中正常工作或實際運​​行python腳本。問題在於Eclipse識別模塊功能。我沒有添加其他這樣的模塊。我使用的所有模塊都來自unofficial windows binaries。一旦我安裝了它們,我只需將模塊的目錄添加到Eclipse解釋器庫中即可使其工作。這對numpy來說是不成功的。我甚至嘗試將numpy包的每個子文件夾都添加到解釋器庫中。我使用Python的詳細運行檢查瞭解釋器中的導入,以瞭解導入過程中發生了什麼,但是我沒有看到太多我沒有嘗試添加到Eclipse解釋器庫中的東西。我試圖使用早期版本的numpy以及官方numpy網站的版本,但結果相同。我試着將numpy目錄專門添加到項目PYTHONPATH中,但也沒有成功。

我使用的是Windows 7,Python 2.7以及所有軟件包(和python)的64位版本。

有什麼建議嗎?非常感謝!

+0

要清楚的是,您將PyDev的靜態代碼分析系統看作是一個錯誤消息,而不是一個運行時異常,它實際上阻止了您在PyDev中運行時執行的程序正確嗎? –

+0

@SilasRay:是的,這是正確的。 – golmschenk

回答

1

我敢打賭,因爲numpy.__init__有條件負載本身importif __NUMPY_SETUP__塊,靜態分析不知道哪個分支將運行,因而只是無法識別的會是什麼模塊的名字空間結束任何責任。您應該嘗試將NumPy添加到PyDev中的forced builtins。我和其他庫有類似的問題(例如,關於flask.ext的任何內容),但基本上已經學會了忽略它們。

+0

我試圖直接向強制內建中添加'numpy',但似乎沒有解決問題。添加它作爲內建強制讓它起作用時,我需要做什麼嗎? – golmschenk

+0

就像我說過的,我剛剛學會了大部分時間忽略它們,所以我沒有太多的經驗按摩這樣的事情。我只能說,在網絡上打個盹說你需要在系統路徑上有numpy(不僅僅是項目和/或python路徑),而且你需要稍微等待一下你添加的強制內建函數,比如PyDev必須啓動一個shell並激活這些模塊以從中提取所需的信息。 –

+0

我猜想,直到另一個解決方案出現我只是做一些類似的'進口numpy .__ init__作爲numpy#@ UnresolvedImport'。這樣我仍然擁有一切,屏幕上沒有任何錯誤。 – golmschenk

相關問題