2017-09-27 11 views
1

まず、私は実際にはPythonのばかだ、これは私の最初のpythonのテストです。iPythonノートブック(Python 3):ImportError:No module

Jupyterを使用してtest_predictors.ipynbファイルを実行しています。

enter image description here

decisioni_tree.pytest_predictors.ipynbと同じフォルダ内の別の.pyファイルで次のようなブロックでtest_predictors.ipynbファイルを実行時にエラー、:私は「という名前のモジュールはImportError」に走りました。 calculate_information_gain, decision_tree_train, decision_tree_predictはすべてdecisioni_tree.pyで定義された関数です。以下の画像は、ファイルのレイアウトを示している:私は、スレッドの多くを検索サブフォルダにすべての.pyファイルを置く、またはdecisioni_treeの前に先頭にドットを追加、またはへのフルパスを追加しようとしたenter image description here

decisioni_treeですが、これらのいずれも機能しませんでした。

私はPEPも読んでいますが、それは私にはあまり意味がありません。今私は本当に無知です。私はそれがパスの問題だと思うが、私はどのようにPythonのパスを整理するの背後にあるロジックを把握していない。私は誰もがいくつかの指針を与えることができますか?この問題をどのように解決すればよいですか?ありがとう。

私はWindows 10を使用していますが、Python 3.4/3.5がインストールされていると思います。

+0

私はやっとJupyterのノートPCを使用し、これは暗闇の中で刺しています。 '__init __。py'(両側に二重のアンダースコア)という名前の空のファイルを同じディレクトリに作成してみたらどうなりますか? – roganjosh

+0

@roganjosh、それは私の最初の考えでした。 UbuntuのJupyterを使ってローカルの.pyファイルからインポートする際に問題はありません。しかし、Windowsの動作が異なっている可能性もあります。 –

+1

@roganjosh提案したように$ __ init __。py $という名前の空のファイルを追加しましたが、残念ながら同じエラーが発生しました。 –

答えて

0

これを試してみてください。

この__init__.pyソリューションが動作しない場合..

+0

作品のように見えます。私はもはや私が得ているエラーメッセージを取得していません。ありがとう。 –

0

作業ディレクトリからスクリプトをインポートできないようです。 これは起こってはいけません。 私はあなたのノートブックで実行して、pythonのパスを見てみましょうお勧め:

import sys 
print sys.path 

ホームディレクトリやノートブックのディレクトリは、'C:\\Users\\yourusername\\.ipython'のようなものは、あなたはおそらくパスとして追加必要と表示されない場合。パスにホームディレクトリを追加 してみてください。

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

import FOLDER.file 

FOLDERはモジュール名で、file is the .py fileインポートしたい場所:

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

または

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

C:\ Users \ yourusername \ .ipythonは実際に印刷すると表示されます(sys.path)。ならどうしよう? –

関連する問題