2017-11-24 5 views
0

Windows 10コンピュータでPythonスクリプトを実行しようとしています。ディレクトリの構造は次のようになりますコマンドラインでPythonスクリプトを実行するとエラーが発生する

MyProject 
    - src 
     - main.py 
     __init__.py 

     - features 
      - featureExtraction.py 
      - __init__.py 

メインフォルダは "MyProject"です。 "MyProject"には "src"というサブフォルダがあります。 「src」には、ファイル「main.py」と「init .py」とフォルダ「features」が存在します。フォルダ "features"には、 "featureExtraction.py"と "init .py"というファイルがあります。 「main.py」で

私は、次のインポートを持っている:

import src.features.featureExtraction 

私はpycharmすべて内main.pyを実行して動作しますが、私は「のpython main.pyを使用して、コマンドライン上でスクリプトを起動するとき「その後、私はエラーを取得しています、(srcフォルダにbeeingて):

ModuleNotFoundError: No module named 'src'".

これはなぜ起こるのでしょうか?

+1

試してみてください: 'import features.featureExtraction' – alfasin

答えて

1

srcフォルダーにあるimport src.features.featureExtractionを実行したとします。そのインポートは親フォルダMyProjectにいる間だけ意味があります。

pycharm prefsでは、Project Structureを検索し、使用しているコンテンツルート(MyProject)に気づきます。これは、IDEやコマンドラインから見たさまざまな動作を説明しています。

+0

私はimport features.featureExtractionを使う必要があります。しかし、私はそれをIDEとコマンドラインの両方で動かすことができますか?私は、IDEが次にsrc.features.featureExtractionをインポートする必要があると思う。 – machinery

+0

pycharm prefsで、プロジェクト構造を検索し、右クリックして適切なソースフォルダを追加する。これは、sys.pathまたはPYTHONPATHの変更に似ています。 –

関連する問題