2017-09-27 78 views
1
的模塊

首先,我真的是一個python白癡,這是我的第一個python測試。iPython Notebook(Python 3):ImportError:沒有名爲

我使用Jupyter正在運行test_predictors.ipynb文件。我遇到了一個「導入錯誤:沒有名爲模塊」塊執行test_predictors.ipynb文件時,如出現以下錯誤:

enter image description here

decisioni_tree.py是在同一個文件夾中test_predictors.ipynb另一.py文件。 calculate_information_gain, decision_tree_train, decision_tree_predict是在decisioni_tree.py中定義的所有功能。下面的圖片顯示的文件格式:

enter image description here

我搜索了很多的線程,試圖把所有.py文件到子文件夾,或在前面添加的decisioni_tree前導點,或添加完整路徑decisioni_tree,但沒有一個工作。

我也讀了PEP,但對我來說沒什麼意義。現在我真的無能爲力了。我想這是路徑問題,但我不知道Python如何安排路徑背後的邏輯。我想知道任何人都可以提供一些建議嗎?我應該如何解決這個問題?謝謝。

我使用Windows 10,我認爲Python 3.4/3.5安裝。

+0

我勉強用Jupyter筆記本電腦,所以這是一個在黑暗中刺傷。如果您在名爲'__init __。py'的相同目錄中創建一個空文件(雙面都是雙下劃線)會發生什麼情況,然後嘗試? – roganjosh

+0

@roganjosh,這是我的第一個想法。我在Ubuntu上使用Jupyter從本地.py文件導入時沒有任何問題。值得一試 - 可能是Windows的行爲不同。 –

+1

@roganjosh我添加了一個名爲$ __ init __。py $的空文件,就像你所建議的那樣,但不幸的是發生了同樣的錯誤。 –

回答

0

試試這個:

sys.path.insert(0, 'directory_of_the_pyfile_you_want_to_import') 

import FOLDER.file 

其中FOLDER是模塊的名稱和file is the .py file要導入。

這如果__init__.py解決方案不工作..

+0

看起來像它的作品。我不再收到我收到的錯誤消息。謝謝。 –

0

在我看來,你不能從你的工作目錄中導入任何腳本。 這不應該發生。 我建議你在你的筆記本上運行看看你的Python路徑:

import sys 
print sys.path 

,如果你的主目錄或筆記本電腦的目錄,像'C:\\Users\\yourusername\\.ipython'顯示不出來,那麼你可能需要將其添加爲路徑。 嘗試加入你的主目錄路徑:

sys.path.append('C:\\Users\\yourusername\\') 

sys.path.insert(1, 'C:\\Users\\yourusername\\') 
+0

'C:\ Users \ yourusername \ .ipython'實際上在我打印時顯示(sys.path)。所以現在怎麼辦? –

相關問題