2017-09-27 51 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)。所以现在怎么办? –

相关问题