2017-07-31 36 views
0

Python用のBehavior Driven Development環境であるradishでテストを実行しようとしていますが、最も簡単なこともしません。Python radish-bdd実行可能ファイルからインポートモジュールが失敗する

私はこのような構造を持っている: ""

. 
├── features 
│   └── my.feature 
└── radish 
    ├── __init__.py 
    ├── harness 
    │   ├── __init__.py 
    │   └── main.py 
    └── steps.py 

私は私の作業ディレクトリから

python -c "import radish.harness" 

を行うと、物事は罰金です。

私は、ファイルsteps.pyに同じ(「輸入radish.harness」または「インポートハーネス」)を行うと同じディレクトリから「大根機能」コマンドを呼び出すときに、私はこれを取得しています:

ModuleNotFoundError: No module named 'radish.harness' 

または

ModuleNotFoundError: No module named 'harness' 

大根-BDDクイックスタートガイドquick start guideはこれについて言う:

大根Fiを提供してどのように私のPythonモジュールはどうですか?大根はbasedirの中にすべてのpython モジュールをインポートします。デフォルトでは、基底値は $ PWD/radishになります。私たちの場合は完全に問題ありません。

実際、radishディレクトリに置かれたファイルは自動的にインポートされますが、これらのファイル(システムライブラリを除く)からは何もインポートできません。

誰もモジュールのインポート方法についてアドバイスできますか?道に迷いました。モジュールのインポートに関するPythonの知識が役に立たないようです。

答えて

1

'ハーネス'ディレクトリを 'features'と 'radish'ディレクトリと同じレベルに移動することをお勧めします。あなたの作業ディレクトリから大根を呼び出す場合

. 
├── features 
│ └── my.feature 
├── radish 
│ ├── __init__.py 
│ └── steps.py 
└── harness 
    ├── __init__.py 
    └── main.py 

( "")このように:

radish -b radish features/my.feature 

次に、あなたがこの

import harness 
ようsteps.pyからあなたの "ハーネス" モジュールをインポートすることができます

この場合、Pythonは現在のディレクトリにあるように、あなたの "ハーネス"モジュールを見つけるでしょう。

関連する問題