私のプロジェクトのディレクトリ構造は次のとおりです。私がpackage 1
からスクリプトを実行すると、logs
ディレクトリにログが作成されますが、テストから実行するとファイルを書き込めません。テストディレクトリから実行するとログファイルが見つかりません
/project
__init__.py
/flask_app
__init__.py
/scripts
__init__.py
logging.config.py
/package1
__init__.py
mypython.py
/logs
logging.log
/tests
__init__.py
test_mypython.py
mypython.py
コード:コマンド
py.test
を発行することによって
self.logger = configure_logger('log_handler','../logs/logging.py')
私はテストからmypython.pyを実行している私は、応答が
[Errno 2] No such file or directory:
/home/mac/project/flask_app/logs/logging.log
どれ取得すべてはっきりwですそれはこれまでのところ、私は
log_file = pkg_resource.resource_filename(__name__, '../logs/logging.log')
self.logger = configure_logger('log_handler',log_file)
を使用して(mypython.py)を試してみましたtestsディレクトリ
からのパスを見つけようとするよう栄私はまた、それらの
package_dir = os.path.dirname(os.path.abspath(__file__))
log_file=os.path.join(os.path.dirname(__file__),'../logs/logging.log')
どれも動作するようには思えませんみました。私のディレクトリをmypackage1に変更してpy.test
を実行すると、すべて動作します。私はテストディレクトリ内の他の単体テストを持っているので、それを望んでいません。私は今、かなり不満を抱いています。誰かが私のコードで何が間違っているのかを指摘できたらと感謝します。私はパッケージのリソースを解決する必要があると思った。それは明らかではありません。事前のおかげで
問題は解決されました。 'os.path.dirname(__ filename __)、 '.../log/logging.log)'を使ってください。それはそれを更新していないファイルの1つでした。ありがとう。私はログファイルを作成するあなたの提案を取り入れましたが、それは欠けていました。 –