私はpy.test
を使用して私のpythonコードをテストしています。私のプロジェクトの関連する構造は、pytest integration - 正しくインポートする方法
-myproject
file.py
file2.py
-test/
input.txt
input2.dat
test_part.py
-regress/
file2_old.py
__init__.py
-test/
test_file2_regression.py
test_part.py
輸入file
とfile2
とtest_file2_regression.py
輸入file2
とregress.file2_old
です。コンソールにpytest
を実行すると、パッケージが存在しないというインポートエラーが発生します。一方、python -m pytest
を実行すると、完全に正常に動作しますが、これはmyproject/
ディレクトリから実行した場合のみです。
私のプロジェクトのどこからでも動作させるには、これを行う正しい方法は何ですか?私はすでにPYTHONPATH
を修正しようとしましたが、私は正直なところ、それを正しく行う方法は考えていません。
詳しい情報:
私は、任意の設定ファイルを持っていない、と私__init__
sがちょうど空のファイルです。 PYTHONPATH
を操作する必要がある場合は、複数のマシンで使用するため、myproject
に関連して行う必要があります。私はPython 2.7を実行しています。
私はすでにチェックアウト:
が、それは本当に私を助けていませんでした。
どのようにこれを正確に使用しますか? 'argv [0]'は 'pytest'のディレクトリを評価します。 'pytest'で呼び出された場合は、'/usr/local/bin/pytest'または 'python -m pytest'' '/ usr/local/lib/python2.7/dist-packages/pytest.py'を与えます。 – DerWeh
本当に、私は前にそれを得ていませんでした。それで 'argv [0]'は本当にうまくいきません。 'inspect.getsourcefile()'を試してみてください(http://stackoverflow.com/questions/2632199/how-do-i-get-the-path-of-the-current-executed-file-in-pythonを参照してください)。 、ArtsOfWarfareからの回答です。) –