2016-11-03 5 views
0

、私は次のフォルダツリーがあります。がMAC Pycharm「はImportError:名前のないモジュール」のカスタムモジュールをインポートすることはできませんPycharmで

|> Folder_1 
| > Folder_2 
|  - file_1.py 
|  - file_2.py 
|  - __init__.py 

を私はfile_1でそれを使用することができるようにfile_2.pyをインポートしようとしています次のエラーでのPythonコンソールの結果で import file_2

::の.py、それでも入力

File "Traceback (most recent call last): 
/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/IPython/core/interactiveshell.py", line 2881, in run_code 
     exec(code_obj, self.user_global_ns, self.user_ns) 
     File "<ipython-input-2-ac9ea41238ee>", line 1, in <module> 
     import file_2.py 
     File "/Applications/PyCharm CE.app/Contents/helpers/pydev/_pydev_bundle/pydev_import_hook.py", line 21, in do_import 
     module = self._system_import(name, *args, **kwargs) 
     File "/Applications/PyCharm CE.app/Contents/helpers/pydev/_pydev_bundle/pydev_import_hook.py", line 21, in do_import 
     module = self._system_import(name, *args, **kwargs) 
    ImportError: No module named 'file_2' 

は、その後、私は最初から新しいプロジェクトを作ってみました、とそれはうまく動作します。 したがって、カスタムモジュールのインポートを妨げている現在の設定で設定が変更されている可能性があります。

答えて

0

カスタムモジュール(libと言う)をインポートするには、PycharmにSourceとマークする必要があります。私はその後、私はSourceとして(Pycharm内側)のlibフォルダをマークする必要があり、この

lib/ 
    biopy.py 
    ratata.py 

のようなフォルダがあるとしましょう。右の左側にそれをクリックして: Mark dictionary as... --> Sources root

これを実行した後、私は行うことができます。そのプロジェクトでの私のスクリプトのいずれにおいても

import biopy 
import ratata 

を(あなたもあなたの$PYTHONPATHlibフォルダを追加したい場合があります環境変数)。

編集:私はMACが同じ問題を経験する人のために

+0

ありがとうございました。ディレクトリは既にrootとして設定されています。問題は別の場所にあるはずです。 – joeDiHare

+0

インポートするファイルの名前と、実行するスクリプトの名前が異なることを確認してください。 –

+0

ここでは、「スクリプト」と「インポートされたファイル」の違いをわかりません。私は両方のファイルを>>新しいpythonファイルとして定義し、file_1とfile_2という名前を付けました。 Pythonコンソールに 'import file_1'と入力するとエラーになります。 – joeDiHare

0

を、環境変数を持つかどうかについては考えている、これは私のために働いていたものです。

免責事項:これは非官能的です。

私はimport file_1.pyとタイプしました。エラーが発生しました。それから私はimport file_1とタイプし、それは働いた。

必ずしもこれが機能するとは限りません。

関連する問題